typia 6.0.0-dev.20240122 → 6.0.0

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 (853) hide show
  1. package/README.md +2 -1
  2. package/lib/CamelCase.d.ts +2 -2
  3. package/lib/IRandomGenerator.d.ts +19 -5
  4. package/lib/PascalCase.d.ts +2 -2
  5. package/lib/Resolved.d.ts +1 -1
  6. package/lib/SnakeCase.d.ts +1 -1
  7. package/lib/TypeGuardError.js +4 -1
  8. package/lib/TypeGuardError.js.map +1 -1
  9. package/lib/executable/TypiaGenerateWizard.js +24 -23
  10. package/lib/executable/TypiaGenerateWizard.js.map +1 -1
  11. package/lib/executable/TypiaPatchWizard.js +9 -9
  12. package/lib/executable/TypiaPatchWizard.js.map +1 -1
  13. package/lib/executable/TypiaSetupWizard.js +31 -22
  14. package/lib/executable/TypiaSetupWizard.js.map +1 -1
  15. package/lib/executable/setup/ArgumentParser.js +5 -5
  16. package/lib/executable/setup/ArgumentParser.js.map +1 -1
  17. package/lib/executable/setup/PackageManager.js +8 -8
  18. package/lib/executable/setup/PackageManager.js.map +1 -1
  19. package/lib/executable/setup/PluginConfigurator.js +5 -4
  20. package/lib/executable/setup/PluginConfigurator.js.map +1 -1
  21. package/lib/executable/typia.js +21 -21
  22. package/lib/executable/typia.js.map +1 -1
  23. package/lib/factories/CommentFactory.js +2 -0
  24. package/lib/factories/CommentFactory.js.map +1 -1
  25. package/lib/factories/IdentifierFactory.d.ts +1 -1
  26. package/lib/factories/IdentifierFactory.js +2 -0
  27. package/lib/factories/IdentifierFactory.js.map +1 -1
  28. package/lib/factories/LiteralFactory.js +1 -0
  29. package/lib/factories/LiteralFactory.js.map +1 -1
  30. package/lib/factories/MetadataCollection.js +19 -1
  31. package/lib/factories/MetadataCollection.js.map +1 -1
  32. package/lib/factories/MetadataCommentTagFactory.js +79 -39
  33. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  34. package/lib/factories/MetadataFactory.js +9 -1
  35. package/lib/factories/MetadataFactory.js.map +1 -1
  36. package/lib/factories/MetadataTypeTagFactory.js +61 -17
  37. package/lib/factories/MetadataTypeTagFactory.js.map +1 -1
  38. package/lib/factories/MetadataTypeTagSchemaFactory.d.ts +4 -0
  39. package/lib/factories/MetadataTypeTagSchemaFactory.js +84 -0
  40. package/lib/factories/MetadataTypeTagSchemaFactory.js.map +1 -0
  41. package/lib/factories/ProtobufFactory.js +46 -1
  42. package/lib/factories/ProtobufFactory.js.map +1 -1
  43. package/lib/factories/TypeFactory.js +9 -0
  44. package/lib/factories/TypeFactory.js.map +1 -1
  45. package/lib/factories/internal/metadata/MetadataHelper.js +7 -1
  46. package/lib/factories/internal/metadata/MetadataHelper.js.map +1 -1
  47. package/lib/factories/internal/metadata/emend_metadata_atomics.js +15 -5
  48. package/lib/factories/internal/metadata/emend_metadata_atomics.js.map +1 -1
  49. package/lib/factories/internal/metadata/emplace_metadata_alias.js +2 -0
  50. package/lib/factories/internal/metadata/emplace_metadata_alias.js.map +1 -1
  51. package/lib/factories/internal/metadata/emplace_metadata_array_type.js +2 -0
  52. package/lib/factories/internal/metadata/emplace_metadata_array_type.js.map +1 -1
  53. package/lib/factories/internal/metadata/emplace_metadata_object.js +18 -2
  54. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  55. package/lib/factories/internal/metadata/emplace_metadata_tuple.js +4 -0
  56. package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -1
  57. package/lib/factories/internal/metadata/explore_metadata.js +2 -0
  58. package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
  59. package/lib/factories/internal/metadata/iterate_metadata.js +4 -2
  60. package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
  61. package/lib/factories/internal/metadata/iterate_metadata_alias.js +1 -0
  62. package/lib/factories/internal/metadata/iterate_metadata_alias.js.map +1 -1
  63. package/lib/factories/internal/metadata/iterate_metadata_array.js +54 -1
  64. package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
  65. package/lib/factories/internal/metadata/iterate_metadata_atomic.js +2 -0
  66. package/lib/factories/internal/metadata/iterate_metadata_atomic.js.map +1 -1
  67. package/lib/factories/internal/metadata/iterate_metadata_constant.js +9 -2
  68. package/lib/factories/internal/metadata/iterate_metadata_constant.js.map +1 -1
  69. package/lib/factories/internal/metadata/{iterate_metadata_resolve.d.ts → iterate_metadata_escape.d.ts} +1 -1
  70. package/lib/factories/internal/metadata/{iterate_metadata_resolve.js → iterate_metadata_escape.js} +4 -4
  71. package/lib/factories/internal/metadata/iterate_metadata_escape.js.map +1 -0
  72. package/lib/factories/internal/metadata/iterate_metadata_intersection.js +49 -138
  73. package/lib/factories/internal/metadata/iterate_metadata_intersection.js.map +1 -1
  74. package/lib/factories/internal/metadata/iterate_metadata_native.js +20 -21
  75. package/lib/factories/internal/metadata/iterate_metadata_native.js.map +1 -1
  76. package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
  77. package/lib/factories/internal/metadata/iterate_metadata_sort.js +49 -23
  78. package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -1
  79. package/lib/factories/internal/metadata/iterate_metadata_template.js +2 -0
  80. package/lib/factories/internal/metadata/iterate_metadata_template.js.map +1 -1
  81. package/lib/functional/$FormDataReader/$FormDataReader.d.ts +7 -0
  82. package/lib/functional/$FormDataReader/$FormDataReader.js +86 -0
  83. package/lib/functional/$FormDataReader/$FormDataReader.js.map +1 -0
  84. package/lib/functional/$FormDataReader/index.d.ts +1 -0
  85. package/lib/functional/$FormDataReader/index.js +28 -0
  86. package/lib/functional/$FormDataReader/index.js.map +1 -0
  87. package/lib/functional/$HeadersReader/$HeadersReader.d.ts +4 -0
  88. package/lib/functional/$HeadersReader/$HeadersReader.js +36 -0
  89. package/lib/functional/$HeadersReader/$HeadersReader.js.map +1 -0
  90. package/lib/functional/$HeadersReader/index.d.ts +1 -0
  91. package/lib/functional/$HeadersReader/index.js +28 -0
  92. package/lib/functional/$HeadersReader/index.js.map +1 -0
  93. package/lib/functional/$ParameterReader/$ParameterReader.d.ts +4 -0
  94. package/lib/functional/$ParameterReader/$ParameterReader.js +36 -0
  95. package/lib/functional/$ParameterReader/$ParameterReader.js.map +1 -0
  96. package/lib/functional/$ParameterReader/index.d.ts +1 -0
  97. package/lib/functional/$ParameterReader/index.js +28 -0
  98. package/lib/functional/$ParameterReader/index.js.map +1 -0
  99. package/lib/functional/$ProtobufReader.d.ts +35 -1
  100. package/lib/functional/$ProtobufReader.js +13 -11
  101. package/lib/functional/$ProtobufReader.js.map +1 -1
  102. package/lib/functional/$ProtobufSizer.d.ts +36 -1
  103. package/lib/functional/$ProtobufSizer.js +28 -13
  104. package/lib/functional/$ProtobufSizer.js.map +1 -1
  105. package/lib/functional/$ProtobufWriter.d.ts +45 -1
  106. package/lib/functional/$ProtobufWriter.js +11 -9
  107. package/lib/functional/$ProtobufWriter.js.map +1 -1
  108. package/lib/functional/$QueryReader/$QueryReader.d.ts +6 -0
  109. package/lib/functional/$QueryReader/$QueryReader.js +55 -0
  110. package/lib/functional/$QueryReader/$QueryReader.js.map +1 -0
  111. package/lib/functional/$QueryReader/index.d.ts +1 -0
  112. package/lib/functional/$QueryReader/index.js +28 -0
  113. package/lib/functional/$QueryReader/index.js.map +1 -0
  114. package/lib/functional/$any.d.ts +1 -0
  115. package/lib/functional/$any.js +9 -0
  116. package/lib/functional/$any.js.map +1 -0
  117. package/lib/functional/$clone.d.ts +2 -1
  118. package/lib/functional/$clone.js +1 -1
  119. package/lib/functional/$clone.js.map +1 -1
  120. package/lib/functional/$convention.d.ts +1 -1
  121. package/lib/functional/$convention.js.map +1 -1
  122. package/lib/functional/$dictionary.d.ts +2 -0
  123. package/lib/functional/$dictionary.js +18 -0
  124. package/lib/functional/$dictionary.js.map +1 -0
  125. package/lib/functional/$every.d.ts +2 -0
  126. package/lib/functional/$every.js +12 -0
  127. package/lib/functional/$every.js.map +1 -0
  128. package/lib/functional/$guard.js +5 -2
  129. package/lib/functional/$guard.js.map +1 -1
  130. package/lib/functional/$is_between.d.ts +1 -1
  131. package/lib/functional/$is_between.js.map +1 -1
  132. package/lib/functional/$join.d.ts +1 -1
  133. package/lib/functional/$join.js.map +1 -1
  134. package/lib/functional/$number.d.ts +1 -1
  135. package/lib/functional/$number.js.map +1 -1
  136. package/lib/functional/$report.d.ts +2 -1
  137. package/lib/functional/$report.js.map +1 -1
  138. package/lib/functional/$rest.d.ts +1 -1
  139. package/lib/functional/$rest.js.map +1 -1
  140. package/lib/functional/$stoll.d.ts +1 -1
  141. package/lib/functional/$stoll.js.map +1 -1
  142. package/lib/functional/$string.js +20 -9
  143. package/lib/functional/$string.js.map +1 -1
  144. package/lib/functional/$strlen.d.ts +1 -1
  145. package/lib/functional/$strlen.js.map +1 -1
  146. package/lib/functional/$tail.js +3 -0
  147. package/lib/functional/$tail.js.map +1 -1
  148. package/lib/functional/$throws.d.ts +2 -1
  149. package/lib/functional/$throws.js.map +1 -1
  150. package/lib/functional/$varint.d.ts +6 -0
  151. package/lib/functional/$varint.js +100 -0
  152. package/lib/functional/$varint.js.map +1 -0
  153. package/lib/functional/$zigzag.d.ts +4 -0
  154. package/lib/functional/$zigzag.js +36 -0
  155. package/lib/functional/$zigzag.js.map +1 -0
  156. package/lib/functional/IProtobufWriter.d.ts +15 -1
  157. package/lib/functional/Namespace/functional.d.ts +4 -0
  158. package/lib/functional/Namespace/functional.js +9 -0
  159. package/lib/functional/Namespace/functional.js.map +1 -0
  160. package/lib/functional/Namespace/http.d.ts +8 -0
  161. package/lib/functional/Namespace/http.js +16 -0
  162. package/lib/functional/Namespace/http.js.map +1 -0
  163. package/lib/functional/Namespace/index.d.ts +30 -0
  164. package/lib/functional/Namespace/index.js +85 -0
  165. package/lib/functional/Namespace/index.js.map +1 -0
  166. package/lib/functional/Namespace/json.d.ts +9 -0
  167. package/lib/functional/Namespace/json.js +23 -0
  168. package/lib/functional/Namespace/json.js.map +1 -0
  169. package/lib/functional/Namespace/misc.d.ts +11 -0
  170. package/lib/functional/Namespace/misc.js +22 -0
  171. package/lib/functional/Namespace/misc.js.map +1 -0
  172. package/lib/functional/Namespace/notations.d.ts +18 -0
  173. package/lib/functional/Namespace/notations.js +26 -0
  174. package/lib/functional/Namespace/notations.js.map +1 -0
  175. package/lib/functional/Namespace/protobuf.d.ts +17 -0
  176. package/lib/functional/Namespace/protobuf.js +25 -0
  177. package/lib/functional/Namespace/protobuf.js.map +1 -0
  178. package/lib/functional/is.js +14 -0
  179. package/lib/functional/is.js.map +1 -0
  180. package/lib/functional.d.ts +526 -0
  181. package/lib/functional.js +195 -0
  182. package/lib/functional.js.map +1 -0
  183. package/lib/http.d.ts +265 -369
  184. package/lib/http.js +226 -19
  185. package/lib/http.js.map +1 -1
  186. package/lib/json.d.ts +81 -58
  187. package/lib/json.js +109 -14
  188. package/lib/json.js.map +1 -1
  189. package/lib/misc.d.ts +81 -38
  190. package/lib/misc.js +133 -16
  191. package/lib/misc.js.map +1 -1
  192. package/lib/module.d.ts +91 -38
  193. package/lib/module.js +102 -21
  194. package/lib/module.js.map +1 -1
  195. package/lib/notations.d.ts +106 -45
  196. package/lib/notations.js +188 -24
  197. package/lib/notations.js.map +1 -1
  198. package/lib/programmers/AssertProgrammer.d.ts +6 -1
  199. package/lib/programmers/AssertProgrammer.js +48 -5
  200. package/lib/programmers/AssertProgrammer.js.map +1 -1
  201. package/lib/programmers/CheckerProgrammer.js +57 -2
  202. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  203. package/lib/programmers/FeatureProgrammer.js +11 -0
  204. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  205. package/lib/programmers/IsProgrammer.js +10 -1
  206. package/lib/programmers/IsProgrammer.js.map +1 -1
  207. package/lib/programmers/RandomProgrammer.js +49 -4
  208. package/lib/programmers/RandomProgrammer.js.map +1 -1
  209. package/lib/programmers/TypiaProgrammer.js +41 -44
  210. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  211. package/lib/programmers/ValidateProgrammer.js +5 -5
  212. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  213. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.d.ts +14 -0
  214. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +81 -0
  215. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -0
  216. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.d.ts +7 -0
  217. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js +75 -0
  218. package/lib/programmers/functional/FunctionalAssertParametersProgrammer.js.map +1 -0
  219. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.d.ts +10 -0
  220. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js +46 -0
  221. package/lib/programmers/functional/FunctionalAssertReturnProgrammer.js.map +1 -0
  222. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.d.ts +7 -0
  223. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js +68 -0
  224. package/lib/programmers/functional/FunctionalIsFunctionProgrammer.js.map +1 -0
  225. package/lib/programmers/functional/FunctionalIsParametersProgrammer.d.ts +7 -0
  226. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js +72 -0
  227. package/lib/programmers/functional/FunctionalIsParametersProgrammer.js.map +1 -0
  228. package/lib/programmers/functional/FunctionalIsReturnProgrammer.d.ts +10 -0
  229. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js +46 -0
  230. package/lib/programmers/functional/FunctionalIsReturnProgrammer.js.map +1 -0
  231. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.d.ts +11 -0
  232. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +74 -0
  233. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -0
  234. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.d.ts +7 -0
  235. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +98 -0
  236. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -0
  237. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.d.ts +10 -0
  238. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +53 -0
  239. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -0
  240. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.d.ts +9 -0
  241. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js +25 -0
  242. package/lib/programmers/functional/internal/FunctionalGeneralProgrammer.js.map +1 -0
  243. package/lib/programmers/helpers/AtomicPredicator.js +2 -3
  244. package/lib/programmers/helpers/AtomicPredicator.js.map +1 -1
  245. package/lib/programmers/helpers/FunctionImporeter.d.ts +1 -0
  246. package/lib/programmers/helpers/FunctionImporeter.js +18 -0
  247. package/lib/programmers/helpers/FunctionImporeter.js.map +1 -0
  248. package/lib/programmers/helpers/FunctionImporter.d.ts +2 -2
  249. package/lib/programmers/helpers/FunctionImporter.js +8 -24
  250. package/lib/programmers/helpers/FunctionImporter.js.map +1 -1
  251. package/lib/programmers/helpers/ProtobufUtil.js +2 -2
  252. package/lib/programmers/helpers/ProtobufUtil.js.map +1 -1
  253. package/lib/programmers/helpers/PruneJoiner.js +9 -5
  254. package/lib/programmers/helpers/PruneJoiner.js.map +1 -1
  255. package/lib/programmers/helpers/RandomJoiner.js +2 -0
  256. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  257. package/lib/programmers/helpers/RandomRanger.js +8 -0
  258. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  259. package/lib/programmers/helpers/StringifyJoinder.js +5 -1
  260. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  261. package/lib/programmers/helpers/UnionExplorer.js +10 -0
  262. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  263. package/lib/programmers/helpers/UnionPredicator.js +5 -0
  264. package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
  265. package/lib/programmers/helpers/disable_function_importer_declare.js +2 -4
  266. package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
  267. package/lib/programmers/http/HttpAssertFormDataProgrammer.d.ts +6 -0
  268. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +47 -0
  269. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -0
  270. package/lib/programmers/http/HttpAssertHeadersProgrammer.d.ts +1 -1
  271. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +9 -3
  272. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  273. package/lib/programmers/http/HttpAssertQueryProgrammer.d.ts +1 -1
  274. package/lib/programmers/http/HttpAssertQueryProgrammer.js +9 -3
  275. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  276. package/lib/programmers/http/HttpFormDataProgrammer.d.ts +9 -0
  277. package/lib/programmers/http/HttpFormDataProgrammer.js +193 -0
  278. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -0
  279. package/lib/programmers/http/HttpHeadersProgrammer.js +27 -9
  280. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  281. package/lib/programmers/http/HttpIsFormDataProgrammer.d.ts +6 -0
  282. package/lib/programmers/http/HttpIsFormDataProgrammer.js +47 -0
  283. package/lib/programmers/http/HttpIsFormDataProgrammer.js.map +1 -0
  284. package/lib/programmers/http/HttpIsHeadersProgrammer.js +5 -3
  285. package/lib/programmers/http/HttpIsHeadersProgrammer.js.map +1 -1
  286. package/lib/programmers/http/HttpIsQueryProgrammer.js +5 -3
  287. package/lib/programmers/http/HttpIsQueryProgrammer.js.map +1 -1
  288. package/lib/programmers/http/HttpParameterProgrammer.js +4 -2
  289. package/lib/programmers/http/HttpParameterProgrammer.js.map +1 -1
  290. package/lib/programmers/http/HttpQueryProgrammer.js +20 -5
  291. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  292. package/lib/programmers/http/HttpValidateFormDataProgrammer.d.ts +6 -0
  293. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +41 -0
  294. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -0
  295. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +2 -2
  296. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  297. package/lib/programmers/http/HttpValidateQueryProgrammer.js +2 -2
  298. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  299. package/lib/programmers/internal/application_array.js +10 -99
  300. package/lib/programmers/internal/application_array.js.map +1 -1
  301. package/lib/programmers/internal/application_boolean.js +8 -32
  302. package/lib/programmers/internal/application_boolean.js.map +1 -1
  303. package/lib/programmers/internal/application_escaped.d.ts +1 -4
  304. package/lib/programmers/internal/application_escaped.js +29 -22
  305. package/lib/programmers/internal/application_escaped.js.map +1 -1
  306. package/lib/programmers/internal/application_number.js +8 -137
  307. package/lib/programmers/internal/application_number.js.map +1 -1
  308. package/lib/programmers/internal/application_plugin.js +55 -0
  309. package/lib/programmers/internal/application_plugin.js.map +1 -0
  310. package/lib/programmers/internal/application_string.js +8 -107
  311. package/lib/programmers/internal/application_string.js.map +1 -1
  312. package/lib/programmers/internal/application_templates.js +7 -8
  313. package/lib/programmers/internal/application_templates.js.map +1 -1
  314. package/lib/programmers/internal/application_v30_alias.js +44 -0
  315. package/lib/programmers/internal/application_v30_alias.js.map +1 -0
  316. package/lib/programmers/internal/application_v30_constant.js +13 -0
  317. package/lib/programmers/internal/application_v30_constant.js.map +1 -0
  318. package/lib/programmers/internal/application_v30_native.js +34 -0
  319. package/lib/programmers/internal/application_v30_native.js.map +1 -0
  320. package/lib/programmers/internal/application_v30_object.js +154 -0
  321. package/lib/programmers/internal/application_v30_object.js.map +1 -0
  322. package/lib/programmers/internal/application_v30_schema.js +228 -0
  323. package/lib/programmers/internal/application_v30_schema.js.map +1 -0
  324. package/lib/programmers/internal/application_v30_tuple.js +33 -0
  325. package/lib/programmers/internal/application_v30_tuple.js.map +1 -0
  326. package/lib/programmers/internal/application_v31_alias.js +38 -0
  327. package/lib/programmers/internal/application_v31_alias.js.map +1 -0
  328. package/lib/programmers/internal/application_v31_constant.js +19 -0
  329. package/lib/programmers/internal/application_v31_constant.js.map +1 -0
  330. package/lib/programmers/internal/application_v31_native.js +29 -0
  331. package/lib/programmers/internal/application_v31_native.js.map +1 -0
  332. package/lib/programmers/internal/application_v31_object.js +146 -0
  333. package/lib/programmers/internal/application_v31_object.js.map +1 -0
  334. package/lib/programmers/internal/application_v31_schema.js +224 -0
  335. package/lib/programmers/internal/application_v31_schema.js.map +1 -0
  336. package/lib/programmers/internal/application_v31_tuple.js +22 -0
  337. package/lib/programmers/internal/application_v31_tuple.js.map +1 -0
  338. package/lib/programmers/internal/check_array_length.js +3 -0
  339. package/lib/programmers/internal/check_array_length.js.map +1 -1
  340. package/lib/programmers/internal/check_bigint.js +6 -0
  341. package/lib/programmers/internal/check_bigint.js.map +1 -1
  342. package/lib/programmers/internal/check_dynamic_key.js +7 -1
  343. package/lib/programmers/internal/check_dynamic_key.js.map +1 -1
  344. package/lib/programmers/internal/check_dynamic_properties.js +29 -4
  345. package/lib/programmers/internal/check_dynamic_properties.js.map +1 -1
  346. package/lib/programmers/internal/check_everything.js +3 -0
  347. package/lib/programmers/internal/check_everything.js.map +1 -1
  348. package/lib/programmers/internal/check_native.js +3 -0
  349. package/lib/programmers/internal/check_native.js.map +1 -1
  350. package/lib/programmers/internal/check_number.js +8 -1
  351. package/lib/programmers/internal/check_number.js.map +1 -1
  352. package/lib/programmers/internal/check_object.js +9 -0
  353. package/lib/programmers/internal/check_object.js.map +1 -1
  354. package/lib/programmers/internal/check_string.js +6 -0
  355. package/lib/programmers/internal/check_string.js.map +1 -1
  356. package/lib/programmers/internal/check_template.js +7 -1
  357. package/lib/programmers/internal/check_template.js.map +1 -1
  358. package/lib/programmers/internal/check_union_array_like.js +4 -0
  359. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  360. package/lib/programmers/internal/decode_union_object.js +52 -10
  361. package/lib/programmers/internal/decode_union_object.js.map +1 -1
  362. package/lib/programmers/internal/feature_object_entries.js +3 -0
  363. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  364. package/lib/programmers/internal/metadata_to_pattern.js +10 -4
  365. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  366. package/lib/programmers/internal/prune_object_properties.js +3 -0
  367. package/lib/programmers/internal/prune_object_properties.js.map +1 -1
  368. package/lib/programmers/internal/random_custom.js +3 -0
  369. package/lib/programmers/internal/random_custom.js.map +1 -1
  370. package/lib/programmers/internal/stringify_dynamic_properties.js +11 -0
  371. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  372. package/lib/programmers/internal/stringify_native.js +3 -0
  373. package/lib/programmers/internal/stringify_native.js.map +1 -1
  374. package/lib/programmers/internal/stringify_regular_properties.js +7 -0
  375. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  376. package/lib/programmers/internal/template_to_pattern.js +3 -0
  377. package/lib/programmers/internal/template_to_pattern.js.map +1 -1
  378. package/lib/programmers/json/JsonApplicationProgrammer.d.ts +2 -5
  379. package/lib/programmers/json/JsonApplicationProgrammer.js +85 -34
  380. package/lib/programmers/json/JsonApplicationProgrammer.js.map +1 -1
  381. package/lib/programmers/json/JsonAssertParseProgrammer.d.ts +1 -1
  382. package/lib/programmers/json/JsonAssertParseProgrammer.js +11 -3
  383. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  384. package/lib/programmers/json/JsonAssertStringifyProgrammer.d.ts +1 -1
  385. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +9 -3
  386. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  387. package/lib/programmers/json/JsonIsParseProgrammer.js +3 -1
  388. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  389. package/lib/programmers/json/JsonStringifyProgrammer.js +43 -4
  390. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  391. package/lib/programmers/misc/MiscAssertCloneProgrammer.d.ts +1 -1
  392. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +11 -3
  393. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  394. package/lib/programmers/misc/MiscAssertPruneProgrammer.d.ts +1 -1
  395. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +9 -3
  396. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  397. package/lib/programmers/misc/MiscCloneProgrammer.js +30 -4
  398. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  399. package/lib/programmers/misc/MiscIsCloneProgrammer.js +3 -1
  400. package/lib/programmers/misc/MiscIsCloneProgrammer.js.map +1 -1
  401. package/lib/programmers/misc/MiscLiteralsProgrammer.js +1 -2
  402. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  403. package/lib/programmers/misc/MiscPruneProgrammer.js +21 -1
  404. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  405. package/lib/programmers/notations/NotationAssertGeneralProgrammer.d.ts +1 -1
  406. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +9 -3
  407. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  408. package/lib/programmers/notations/NotationGeneralProgrammer.js +189 -175
  409. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  410. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.d.ts +1 -1
  411. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +9 -3
  412. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  413. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.d.ts +1 -1
  414. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +9 -3
  415. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  416. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +16 -4
  417. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  418. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +39 -19
  419. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  420. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js +3 -1
  421. package/lib/programmers/protobuf/ProtobufIsDecodeProgrammer.js.map +1 -1
  422. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +7 -1
  423. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  424. package/lib/protobuf.d.ts +72 -31
  425. package/lib/protobuf.js +136 -16
  426. package/lib/protobuf.js.map +1 -1
  427. package/lib/reflect.d.ts +4 -2
  428. package/lib/reflect.js +8 -1
  429. package/lib/reflect.js.map +1 -1
  430. package/lib/schemas/json/IJsonApplication.d.ts +13 -7
  431. package/lib/schemas/metadata/IMetadataConstant.d.ts +2 -1
  432. package/lib/schemas/metadata/IMetadataConstantValue.d.ts +6 -0
  433. package/lib/schemas/metadata/IMetadataConstantValue.js +3 -0
  434. package/lib/schemas/metadata/IMetadataConstantValue.js.map +1 -0
  435. package/lib/schemas/metadata/IMetadataTypeTag.d.ts +1 -0
  436. package/lib/schemas/metadata/Metadata.d.ts +1 -1
  437. package/lib/schemas/metadata/Metadata.js +84 -8
  438. package/lib/schemas/metadata/Metadata.js.map +1 -1
  439. package/lib/schemas/metadata/MetadataAlias.js +13 -1
  440. package/lib/schemas/metadata/MetadataAlias.js.map +1 -1
  441. package/lib/schemas/metadata/MetadataApplication.js +7 -1
  442. package/lib/schemas/metadata/MetadataApplication.js.map +1 -1
  443. package/lib/schemas/metadata/MetadataArray.js +4 -1
  444. package/lib/schemas/metadata/MetadataArray.js.map +1 -1
  445. package/lib/schemas/metadata/MetadataArrayType.js +10 -1
  446. package/lib/schemas/metadata/MetadataArrayType.js.map +1 -1
  447. package/lib/schemas/metadata/MetadataAtomic.js +20 -17
  448. package/lib/schemas/metadata/MetadataAtomic.js.map +1 -1
  449. package/lib/schemas/metadata/MetadataComponents.js +4 -1
  450. package/lib/schemas/metadata/MetadataComponents.js.map +1 -1
  451. package/lib/schemas/metadata/MetadataConstant.d.ts +2 -1
  452. package/lib/schemas/metadata/MetadataConstant.js +5 -9
  453. package/lib/schemas/metadata/MetadataConstant.js.map +1 -1
  454. package/lib/schemas/metadata/MetadataConstantValue.d.ts +13 -0
  455. package/lib/schemas/metadata/MetadataConstantValue.js +44 -0
  456. package/lib/schemas/metadata/MetadataConstantValue.js.map +1 -0
  457. package/lib/schemas/metadata/MetadataEscaped.js +10 -1
  458. package/lib/schemas/metadata/MetadataEscaped.js.map +1 -1
  459. package/lib/schemas/metadata/MetadataObject.js +28 -1
  460. package/lib/schemas/metadata/MetadataObject.js.map +1 -1
  461. package/lib/schemas/metadata/MetadataProperty.js +13 -1
  462. package/lib/schemas/metadata/MetadataProperty.js.map +1 -1
  463. package/lib/schemas/metadata/MetadataTuple.js +7 -1
  464. package/lib/schemas/metadata/MetadataTuple.js.map +1 -1
  465. package/lib/schemas/metadata/MetadataTupleType.js +7 -1
  466. package/lib/schemas/metadata/MetadataTupleType.js.map +1 -1
  467. package/lib/tags/Constant.d.ts +10 -0
  468. package/lib/{schemas/json/IJsonSchema.js → tags/Constant.js} +1 -1
  469. package/lib/tags/Constant.js.map +1 -0
  470. package/lib/tags/ContentMediaType.d.ts +9 -0
  471. package/lib/{schemas/json/IJsonComponents.js → tags/ContentMediaType.js} +1 -1
  472. package/lib/tags/ContentMediaType.js.map +1 -0
  473. package/lib/tags/Default.d.ts +3 -0
  474. package/lib/tags/ExclusiveMaximum.d.ts +4 -0
  475. package/lib/tags/ExclusiveMinimum.d.ts +4 -0
  476. package/lib/tags/Format.d.ts +10 -3
  477. package/lib/tags/JsonSchemaPlugin.d.ts +7 -0
  478. package/lib/tags/JsonSchemaPlugin.js +3 -0
  479. package/lib/tags/JsonSchemaPlugin.js.map +1 -0
  480. package/lib/tags/MaxItems.d.ts +3 -0
  481. package/lib/tags/MaxLength.d.ts +3 -0
  482. package/lib/tags/Maximum.d.ts +3 -0
  483. package/lib/tags/MinItems.d.ts +3 -0
  484. package/lib/tags/MinLength.d.ts +3 -0
  485. package/lib/tags/Minimum.d.ts +3 -0
  486. package/lib/tags/MultipleOf.d.ts +3 -0
  487. package/lib/tags/Pattern.d.ts +3 -0
  488. package/lib/tags/TagBase.d.ts +6 -2
  489. package/lib/tags/Type.d.ts +3 -0
  490. package/lib/tags/index.d.ts +3 -0
  491. package/lib/tags/index.js +3 -0
  492. package/lib/tags/index.js.map +1 -1
  493. package/lib/tags/internal/FormatCheatSheet.d.ts +27 -0
  494. package/lib/tags/internal/FormatCheatSheet.js +38 -0
  495. package/lib/tags/internal/FormatCheatSheet.js.map +1 -0
  496. package/lib/transformers/CallExpressionTransformer.js +195 -1
  497. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  498. package/lib/transformers/FileTransformer.js +2 -0
  499. package/lib/transformers/FileTransformer.js.map +1 -1
  500. package/lib/transformers/TransformerError.js +2 -1
  501. package/lib/transformers/TransformerError.js.map +1 -1
  502. package/lib/transformers/features/AssertTransformer.js.map +1 -1
  503. package/lib/transformers/features/CreateAssertTransformer.js.map +1 -1
  504. package/lib/transformers/features/CreateRandomTransformer.js +3 -0
  505. package/lib/transformers/features/CreateRandomTransformer.js.map +1 -1
  506. package/lib/transformers/features/RandomTransformer.js +3 -0
  507. package/lib/transformers/features/RandomTransformer.js.map +1 -1
  508. package/lib/transformers/features/functional/FunctionalGenericTransformer.d.ts +10 -0
  509. package/lib/transformers/features/functional/FunctionalGenericTransformer.js +39 -0
  510. package/lib/transformers/features/functional/FunctionalGenericTransformer.js.map +1 -0
  511. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.d.ts +4 -0
  512. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js +12 -0
  513. package/lib/transformers/features/http/CreateHttpAssertFormDataTransformer.js.map +1 -0
  514. package/lib/transformers/features/http/CreateHttpFormDataTransformer.d.ts +4 -0
  515. package/lib/transformers/features/http/CreateHttpFormDataTransformer.js +10 -0
  516. package/lib/transformers/features/http/CreateHttpFormDataTransformer.js.map +1 -0
  517. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.d.ts +4 -0
  518. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js +10 -0
  519. package/lib/transformers/features/http/CreateHttpIsFormDataTransformer.js.map +1 -0
  520. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.d.ts +4 -0
  521. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js +12 -0
  522. package/lib/transformers/features/http/CreateHttpValidateFormDataTransformer.js.map +1 -0
  523. package/lib/transformers/features/http/HttpAssertFormDataTransformer.d.ts +4 -0
  524. package/lib/transformers/features/http/HttpAssertFormDataTransformer.js +12 -0
  525. package/lib/transformers/features/http/HttpAssertFormDataTransformer.js.map +1 -0
  526. package/lib/transformers/features/http/HttpFormDataTransformer.d.ts +4 -0
  527. package/lib/transformers/features/http/HttpFormDataTransformer.js +10 -0
  528. package/lib/transformers/features/http/HttpFormDataTransformer.js.map +1 -0
  529. package/lib/transformers/features/http/HttpIsFormDataTransformer.d.ts +4 -0
  530. package/lib/transformers/features/http/HttpIsFormDataTransformer.js +10 -0
  531. package/lib/transformers/features/http/HttpIsFormDataTransformer.js.map +1 -0
  532. package/lib/transformers/features/http/HttpValidateFormDataTransformer.d.ts +4 -0
  533. package/lib/transformers/features/http/HttpValidateFormDataTransformer.js +12 -0
  534. package/lib/transformers/features/http/HttpValidateFormDataTransformer.js.map +1 -0
  535. package/lib/transformers/features/json/JsonApplicationTransformer.js +20 -17
  536. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  537. package/lib/transformers/features/misc/MiscLiteralsTransformer.js +3 -0
  538. package/lib/transformers/features/misc/MiscLiteralsTransformer.js.map +1 -1
  539. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js +3 -0
  540. package/lib/transformers/features/protobuf/ProtobufMessageTransformer.js.map +1 -1
  541. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +4 -0
  542. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  543. package/lib/transformers/internal/GenericTransformer.d.ts +1 -1
  544. package/lib/transformers/internal/GenericTransformer.js +9 -3
  545. package/lib/transformers/internal/GenericTransformer.js.map +1 -1
  546. package/lib/utils/ArrayUtil.d.ts +0 -1
  547. package/lib/utils/ArrayUtil.js +0 -29
  548. package/lib/utils/ArrayUtil.js.map +1 -1
  549. package/lib/utils/NamingConvention/NamingConvention.d.ts +3 -0
  550. package/lib/utils/{NamingConvention.js → NamingConvention/NamingConvention.js} +55 -51
  551. package/lib/utils/NamingConvention/NamingConvention.js.map +1 -0
  552. package/lib/utils/NamingConvention/index.d.ts +1 -0
  553. package/lib/utils/NamingConvention/index.js +28 -0
  554. package/lib/utils/NamingConvention/index.js.map +1 -0
  555. package/lib/utils/PatternUtil.js +3 -3
  556. package/lib/utils/PatternUtil.js.map +1 -1
  557. package/lib/utils/RandomGenerator/RandomGenerator.d.ts +31 -0
  558. package/lib/utils/RandomGenerator/RandomGenerator.js +167 -0
  559. package/lib/utils/RandomGenerator/RandomGenerator.js.map +1 -0
  560. package/lib/utils/RandomGenerator/index.d.ts +1 -0
  561. package/lib/utils/RandomGenerator/index.js +28 -0
  562. package/lib/utils/RandomGenerator/index.js.map +1 -0
  563. package/lib/utils/Singleton.js +1 -1
  564. package/lib/utils/StringUtil/StringUtil.d.ts +2 -0
  565. package/lib/utils/StringUtil/StringUtil.js +14 -0
  566. package/lib/utils/StringUtil/StringUtil.js.map +1 -0
  567. package/lib/utils/StringUtil/index.d.ts +1 -0
  568. package/lib/utils/StringUtil/index.js +28 -0
  569. package/lib/utils/StringUtil/index.js.map +1 -0
  570. package/package.json +14 -10
  571. package/src/CamelCase.ts +68 -61
  572. package/src/IRandomGenerator.ts +30 -5
  573. package/src/PascalCase.ts +68 -61
  574. package/src/Primitive.ts +48 -47
  575. package/src/Resolved.ts +61 -58
  576. package/src/SnakeCase.ts +67 -62
  577. package/src/executable/TypiaSetupWizard.ts +5 -5
  578. package/src/factories/IdentifierFactory.ts +1 -1
  579. package/src/factories/MetadataCommentTagFactory.ts +72 -157
  580. package/src/factories/MetadataFactory.ts +6 -1
  581. package/src/factories/MetadataTypeTagFactory.ts +38 -15
  582. package/src/factories/MetadataTypeTagSchemaFactory.ts +59 -0
  583. package/src/factories/ProtobufFactory.ts +9 -1
  584. package/src/factories/TypeFactory.ts +14 -14
  585. package/src/factories/internal/metadata/MetadataHelper.ts +7 -1
  586. package/src/factories/internal/metadata/emend_metadata_atomics.ts +15 -7
  587. package/src/factories/internal/metadata/emplace_metadata_object.ts +2 -1
  588. package/src/factories/internal/metadata/iterate_metadata.ts +2 -2
  589. package/src/factories/internal/metadata/iterate_metadata_array.ts +34 -1
  590. package/src/factories/internal/metadata/iterate_metadata_constant.ts +17 -2
  591. package/src/factories/internal/metadata/{iterate_metadata_resolve.ts → iterate_metadata_escape.ts} +1 -1
  592. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +51 -97
  593. package/src/factories/internal/metadata/iterate_metadata_native.ts +21 -20
  594. package/src/factories/internal/metadata/iterate_metadata_object.ts +0 -10
  595. package/src/factories/internal/metadata/iterate_metadata_sort.ts +15 -2
  596. package/src/functional/$FormDataReader/$FormDataReader.ts +83 -0
  597. package/src/functional/$FormDataReader/index.ts +1 -0
  598. package/src/functional/$HeadersReader/$HeadersReader.ts +26 -0
  599. package/src/functional/$HeadersReader/index.ts +1 -0
  600. package/src/functional/$ParameterReader/$ParameterReader.ts +29 -0
  601. package/src/functional/$ParameterReader/index.ts +1 -0
  602. package/src/functional/$ProtobufReader.ts +5 -19
  603. package/src/functional/$ProtobufSizer.ts +11 -21
  604. package/src/functional/$ProtobufWriter.ts +8 -33
  605. package/src/functional/$QueryReader/$QueryReader.ts +46 -0
  606. package/src/functional/$QueryReader/index.ts +1 -0
  607. package/src/functional/$any.ts +4 -0
  608. package/src/functional/$clone.ts +1 -4
  609. package/src/functional/$convention.ts +0 -3
  610. package/src/functional/$dictionary.ts +22 -0
  611. package/src/functional/$every.ts +11 -0
  612. package/src/functional/$guard.ts +6 -20
  613. package/src/functional/$is_between.ts +0 -3
  614. package/src/functional/$join.ts +0 -12
  615. package/src/functional/$number.ts +0 -3
  616. package/src/functional/$report.ts +0 -3
  617. package/src/functional/$rest.ts +0 -3
  618. package/src/functional/$stoll.ts +0 -3
  619. package/src/functional/$string.ts +3 -10
  620. package/src/functional/$strlen.ts +0 -3
  621. package/src/functional/$throws.ts +0 -3
  622. package/src/functional/$varint.ts +130 -0
  623. package/src/functional/$zigzag.ts +39 -0
  624. package/src/functional/IProtobufWriter.ts +0 -3
  625. package/src/functional/Namespace/functional.ts +5 -0
  626. package/src/functional/Namespace/http.ts +9 -0
  627. package/src/functional/Namespace/index.ts +76 -0
  628. package/src/functional/Namespace/json.ts +15 -0
  629. package/src/functional/Namespace/misc.ts +14 -0
  630. package/src/functional/Namespace/notations.ts +23 -0
  631. package/src/functional/Namespace/protobuf.ts +20 -0
  632. package/src/functional/is.ts +10 -0
  633. package/src/functional.ts +872 -0
  634. package/src/http.ts +566 -412
  635. package/src/json.ts +181 -80
  636. package/src/misc.ts +190 -60
  637. package/src/module.ts +205 -60
  638. package/src/notations.ts +312 -76
  639. package/src/programmers/AssertProgrammer.ts +90 -46
  640. package/src/programmers/CheckerProgrammer.ts +57 -3
  641. package/src/programmers/FeatureProgrammer.ts +27 -27
  642. package/src/programmers/IsProgrammer.ts +1 -1
  643. package/src/programmers/RandomProgrammer.ts +85 -22
  644. package/src/programmers/TypiaProgrammer.ts +10 -18
  645. package/src/programmers/ValidateProgrammer.ts +47 -48
  646. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +130 -0
  647. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +81 -0
  648. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +77 -0
  649. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +61 -0
  650. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +73 -0
  651. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +84 -0
  652. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +113 -0
  653. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +203 -0
  654. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +107 -0
  655. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +32 -0
  656. package/src/programmers/helpers/AtomicPredicator.ts +1 -2
  657. package/src/programmers/helpers/FunctionImporeter.ts +1 -0
  658. package/src/programmers/helpers/FunctionImporter.ts +17 -58
  659. package/src/programmers/helpers/ProtobufUtil.ts +2 -2
  660. package/src/programmers/helpers/PruneJoiner.ts +8 -10
  661. package/src/programmers/helpers/StringifyJoinder.ts +3 -2
  662. package/src/programmers/helpers/disable_function_importer_declare.ts +4 -5
  663. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +87 -0
  664. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +18 -6
  665. package/src/programmers/http/HttpAssertQueryProgrammer.ts +18 -6
  666. package/src/programmers/http/HttpFormDataProgrammer.ts +256 -0
  667. package/src/programmers/http/HttpHeadersProgrammer.ts +36 -25
  668. package/src/programmers/http/HttpIsFormDataProgrammer.ts +90 -0
  669. package/src/programmers/http/HttpIsHeadersProgrammer.ts +14 -6
  670. package/src/programmers/http/HttpIsQueryProgrammer.ts +14 -6
  671. package/src/programmers/http/HttpParameterProgrammer.ts +4 -6
  672. package/src/programmers/http/HttpQueryProgrammer.ts +38 -30
  673. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +75 -0
  674. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +2 -2
  675. package/src/programmers/http/HttpValidateQueryProgrammer.ts +2 -2
  676. package/src/programmers/internal/application_array.ts +27 -50
  677. package/src/programmers/internal/application_boolean.ts +18 -28
  678. package/src/programmers/internal/application_escaped.ts +40 -18
  679. package/src/programmers/internal/application_number.ts +17 -89
  680. package/src/programmers/internal/application_plugin.ts +19 -0
  681. package/src/programmers/internal/application_string.ts +17 -53
  682. package/src/programmers/internal/application_templates.ts +17 -16
  683. package/src/programmers/internal/application_v30_alias.ts +51 -0
  684. package/src/programmers/internal/application_v30_constant.ts +18 -0
  685. package/src/programmers/internal/application_v30_native.ts +28 -0
  686. package/src/programmers/internal/application_v30_object.ts +148 -0
  687. package/src/programmers/internal/application_v30_schema.ts +155 -0
  688. package/src/programmers/internal/application_v30_tuple.ts +33 -0
  689. package/src/programmers/internal/application_v31_alias.ts +43 -0
  690. package/src/programmers/internal/application_v31_constant.ts +22 -0
  691. package/src/programmers/internal/application_v31_native.ts +24 -0
  692. package/src/programmers/internal/application_v31_object.ts +141 -0
  693. package/src/programmers/internal/application_v31_schema.ts +150 -0
  694. package/src/programmers/internal/application_v31_tuple.ts +22 -0
  695. package/src/programmers/internal/check_dynamic_key.ts +5 -6
  696. package/src/programmers/internal/check_dynamic_properties.ts +20 -7
  697. package/src/programmers/internal/check_number.ts +35 -34
  698. package/src/programmers/internal/check_object.ts +5 -4
  699. package/src/programmers/internal/check_template.ts +1 -1
  700. package/src/programmers/internal/decode_union_object.ts +37 -16
  701. package/src/programmers/internal/feature_object_entries.ts +8 -8
  702. package/src/programmers/internal/metadata_to_pattern.ts +7 -6
  703. package/src/programmers/json/JsonApplicationProgrammer.ts +70 -37
  704. package/src/programmers/json/JsonAssertParseProgrammer.ts +21 -7
  705. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +9 -3
  706. package/src/programmers/json/JsonIsParseProgrammer.ts +12 -4
  707. package/src/programmers/json/JsonStringifyProgrammer.ts +33 -26
  708. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +21 -7
  709. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +9 -3
  710. package/src/programmers/misc/MiscCloneProgrammer.ts +25 -19
  711. package/src/programmers/misc/MiscIsCloneProgrammer.ts +12 -4
  712. package/src/programmers/misc/MiscLiteralsProgrammer.ts +9 -11
  713. package/src/programmers/misc/MiscPruneProgrammer.ts +1 -1
  714. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +9 -3
  715. package/src/programmers/notations/NotationGeneralProgrammer.ts +12 -23
  716. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +18 -6
  717. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +9 -3
  718. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +52 -41
  719. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +55 -58
  720. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +12 -4
  721. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +3 -3
  722. package/src/protobuf.ts +211 -51
  723. package/src/reflect.ts +9 -3
  724. package/src/schemas/json/IJsonApplication.ts +14 -7
  725. package/src/schemas/metadata/IMetadataConstant.ts +3 -1
  726. package/src/schemas/metadata/IMetadataConstantValue.ts +8 -0
  727. package/src/schemas/metadata/IMetadataTypeTag.ts +1 -0
  728. package/src/schemas/metadata/Metadata.ts +30 -13
  729. package/src/schemas/metadata/MetadataAtomic.ts +17 -15
  730. package/src/schemas/metadata/MetadataConstant.ts +5 -17
  731. package/src/schemas/metadata/MetadataConstantValue.ts +53 -0
  732. package/src/tags/Constant.ts +15 -0
  733. package/src/tags/ContentMediaType.ts +10 -0
  734. package/src/tags/Default.ts +7 -4
  735. package/src/tags/ExclusiveMaximum.ts +6 -0
  736. package/src/tags/ExclusiveMinimum.ts +6 -0
  737. package/src/tags/Format.ts +10 -24
  738. package/src/tags/JsonSchemaPlugin.ts +8 -0
  739. package/src/tags/MaxItems.ts +3 -0
  740. package/src/tags/MaxLength.ts +3 -0
  741. package/src/tags/Maximum.ts +5 -0
  742. package/src/tags/MinItems.ts +3 -0
  743. package/src/tags/MinLength.ts +3 -0
  744. package/src/tags/Minimum.ts +5 -0
  745. package/src/tags/MultipleOf.ts +5 -0
  746. package/src/tags/Pattern.ts +3 -0
  747. package/src/tags/TagBase.ts +9 -1
  748. package/src/tags/Type.ts +19 -14
  749. package/src/tags/index.ts +3 -0
  750. package/src/tags/internal/FormatCheatSheet.ts +71 -0
  751. package/src/transformers/CallExpressionTransformer.ts +146 -1
  752. package/src/transformers/features/AssertTransformer.ts +2 -2
  753. package/src/transformers/features/CreateAssertTransformer.ts +2 -2
  754. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -0
  755. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +12 -0
  756. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +9 -0
  757. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +9 -0
  758. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +12 -0
  759. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +10 -0
  760. package/src/transformers/features/http/HttpFormDataTransformer.ts +9 -0
  761. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +9 -0
  762. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +10 -0
  763. package/src/transformers/features/json/JsonApplicationTransformer.ts +8 -18
  764. package/src/transformers/internal/GenericTransformer.ts +12 -4
  765. package/src/utils/ArrayUtil.ts +0 -2
  766. package/src/utils/NamingConvention/NamingConvention.ts +86 -0
  767. package/src/utils/NamingConvention/index.ts +1 -0
  768. package/src/utils/RandomGenerator/RandomGenerator.ts +105 -0
  769. package/src/utils/RandomGenerator/index.ts +1 -0
  770. package/src/utils/StringUtil/StringUtil.ts +7 -0
  771. package/src/utils/StringUtil/index.ts +1 -0
  772. package/lib/factories/internal/metadata/iterate_metadata_resolve.js.map +0 -1
  773. package/lib/functional/$HeadersReader.js +0 -35
  774. package/lib/functional/$HeadersReader.js.map +0 -1
  775. package/lib/functional/$ParameterReader.js +0 -35
  776. package/lib/functional/$ParameterReader.js.map +0 -1
  777. package/lib/functional/$QueryReader.js +0 -60
  778. package/lib/functional/$QueryReader.js.map +0 -1
  779. package/lib/functional/$camel.js +0 -7
  780. package/lib/functional/$camel.js.map +0 -1
  781. package/lib/functional/$generator.js +0 -6
  782. package/lib/functional/$generator.js.map +0 -1
  783. package/lib/functional/$pascal.js +0 -7
  784. package/lib/functional/$pascal.js.map +0 -1
  785. package/lib/functional/$snake.js +0 -7
  786. package/lib/functional/$snake.js.map +0 -1
  787. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.d.ts +0 -1
  788. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js +0 -5
  789. package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js.map +0 -1
  790. package/lib/programmers/internal/application_alias.d.ts +0 -5
  791. package/lib/programmers/internal/application_alias.js +0 -67
  792. package/lib/programmers/internal/application_alias.js.map +0 -1
  793. package/lib/programmers/internal/application_constant.js +0 -21
  794. package/lib/programmers/internal/application_constant.js.map +0 -1
  795. package/lib/programmers/internal/application_default.js +0 -40
  796. package/lib/programmers/internal/application_default.js.map +0 -1
  797. package/lib/programmers/internal/application_default_string.js +0 -63
  798. package/lib/programmers/internal/application_default_string.js.map +0 -1
  799. package/lib/programmers/internal/application_native.js +0 -33
  800. package/lib/programmers/internal/application_native.js.map +0 -1
  801. package/lib/programmers/internal/application_object.js +0 -202
  802. package/lib/programmers/internal/application_object.js.map +0 -1
  803. package/lib/programmers/internal/application_schema.js +0 -236
  804. package/lib/programmers/internal/application_schema.js.map +0 -1
  805. package/lib/programmers/internal/application_tuple.js +0 -46
  806. package/lib/programmers/internal/application_tuple.js.map +0 -1
  807. package/lib/schemas/json/IJsonComponents.d.ts +0 -18
  808. package/lib/schemas/json/IJsonComponents.js.map +0 -1
  809. package/lib/schemas/json/IJsonSchema.d.ts +0 -88
  810. package/lib/schemas/json/IJsonSchema.js.map +0 -1
  811. package/lib/utils/NamingConvention.d.ts +0 -5
  812. package/lib/utils/NamingConvention.js.map +0 -1
  813. package/lib/utils/RandomGenerator.d.ts +0 -1
  814. package/lib/utils/RandomGenerator.js +0 -66
  815. package/lib/utils/RandomGenerator.js.map +0 -1
  816. package/lib/utils/StringUtil.d.ts +0 -3
  817. package/lib/utils/StringUtil.js +0 -10
  818. package/lib/utils/StringUtil.js.map +0 -1
  819. package/src/functional/$HeadersReader.ts +0 -37
  820. package/src/functional/$ParameterReader.ts +0 -40
  821. package/src/functional/$QueryReader.ts +0 -65
  822. package/src/functional/$camel.ts +0 -8
  823. package/src/functional/$generator.ts +0 -6
  824. package/src/functional/$pascal.ts +0 -8
  825. package/src/functional/$snake.ts +0 -8
  826. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +0 -1
  827. package/src/programmers/internal/application_alias.ts +0 -74
  828. package/src/programmers/internal/application_constant.ts +0 -25
  829. package/src/programmers/internal/application_default.ts +0 -17
  830. package/src/programmers/internal/application_default_string.ts +0 -33
  831. package/src/programmers/internal/application_native.ts +0 -34
  832. package/src/programmers/internal/application_object.ts +0 -183
  833. package/src/programmers/internal/application_schema.ts +0 -165
  834. package/src/programmers/internal/application_tuple.ts +0 -54
  835. package/src/schemas/json/IJsonComponents.ts +0 -19
  836. package/src/schemas/json/IJsonSchema.ts +0 -122
  837. package/src/utils/NamingConvention.ts +0 -87
  838. package/src/utils/RandomGenerator.ts +0 -83
  839. package/src/utils/StringUtil.ts +0 -4
  840. /package/lib/functional/{$HeadersReader.d.ts → is.d.ts} +0 -0
  841. /package/lib/{functional/$ParameterReader.d.ts → programmers/internal/application_plugin.d.ts} +0 -0
  842. /package/lib/{functional/$QueryReader.d.ts → programmers/internal/application_v30_alias.d.ts} +0 -0
  843. /package/lib/{functional/$camel.d.ts → programmers/internal/application_v30_constant.d.ts} +0 -0
  844. /package/lib/{functional/$generator.d.ts → programmers/internal/application_v30_native.d.ts} +0 -0
  845. /package/lib/{functional/$pascal.d.ts → programmers/internal/application_v30_object.d.ts} +0 -0
  846. /package/lib/{functional/$snake.d.ts → programmers/internal/application_v30_schema.d.ts} +0 -0
  847. /package/lib/programmers/internal/{application_constant.d.ts → application_v30_tuple.d.ts} +0 -0
  848. /package/lib/programmers/internal/{application_default.d.ts → application_v31_alias.d.ts} +0 -0
  849. /package/lib/programmers/internal/{application_default_string.d.ts → application_v31_constant.d.ts} +0 -0
  850. /package/lib/programmers/internal/{application_native.d.ts → application_v31_native.d.ts} +0 -0
  851. /package/lib/programmers/internal/{application_object.d.ts → application_v31_object.d.ts} +0 -0
  852. /package/lib/programmers/internal/{application_schema.d.ts → application_v31_schema.d.ts} +0 -0
  853. /package/lib/programmers/internal/{application_tuple.d.ts → application_v31_tuple.d.ts} +0 -0
package/src/notations.ts CHANGED
@@ -1,7 +1,10 @@
1
+ import * as Namespace from "./functional/Namespace";
2
+
1
3
  import { CamelCase } from "./CamelCase";
2
4
  import { IValidation } from "./IValidation";
3
5
  import { PascalCase } from "./PascalCase";
4
6
  import { SnakeCase } from "./SnakeCase";
7
+ import { TypeGuardError } from "./TypeGuardError";
5
8
 
6
9
  /* ===========================================================
7
10
  NOTATIONS (NAMING CONVENTIONS)
@@ -31,14 +34,19 @@ import { SnakeCase } from "./SnakeCase";
31
34
  *
32
35
  * @author Jeongho Nam - https://github.com/samchon
33
36
  */
34
- export function camel<T>(input: T): CamelCase<T>;
37
+ function camel<T>(input: T): CamelCase<T>;
35
38
 
36
39
  /**
37
40
  * @internal
38
41
  */
39
- export function camel(): never {
42
+ function camel(): never {
40
43
  return halt("camel");
41
44
  }
45
+ const camelPure = /** @__PURE__ */ Object.assign<typeof camel, {}>(
46
+ camel,
47
+ /** @__PURE__ */ Namespace.notations.camel("camel"),
48
+ );
49
+ export { camelPure as camel };
42
50
 
43
51
  /**
44
52
  * Converts to camel case with type assertion.
@@ -48,11 +56,15 @@ export function camel(): never {
48
56
  *
49
57
  * @template T Type of the input value
50
58
  * @param input Target object
59
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
51
60
  * @returns Camel case object
52
61
  *
53
62
  * @author Jeongho Nam - https://github.com/samchon
54
63
  */
55
- export function assertCamel<T>(input: T): CamelCase<T>;
64
+ function assertCamel<T>(
65
+ input: T,
66
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
67
+ ): CamelCase<T>;
56
68
 
57
69
  /**
58
70
  * Converts to camel case with type assertion.
@@ -62,18 +74,32 @@ export function assertCamel<T>(input: T): CamelCase<T>;
62
74
  *
63
75
  * @template T Type of the input value
64
76
  * @param input Target object
77
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
65
78
  * @returns Camel case object
66
79
  *
67
80
  * @author Jeongho Nam - https://github.com/samchon
68
81
  */
69
- export function assertCamel<T>(input: unknown): CamelCase<T>;
82
+ function assertCamel<T>(
83
+ input: unknown,
84
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
85
+ ): CamelCase<T>;
70
86
 
71
87
  /**
72
88
  * @internal
73
89
  */
74
- export function assertCamel(): never {
90
+ function assertCamel(): never {
75
91
  return halt("assertCamel");
76
92
  }
93
+ const assertCamelPure = /** @__PURE__ */ Object.assign<
94
+ typeof assertCamel,
95
+ {},
96
+ {}
97
+ >(
98
+ assertCamel,
99
+ /** @__PURE__ */ Namespace.notations.camel("assertCamel"),
100
+ /** @__PURE__ */ Namespace.assert("notations.assertCamel"),
101
+ );
102
+ export { assertCamelPure as assertCamel };
77
103
 
78
104
  /**
79
105
  * Converts to camel case with type checking.
@@ -87,7 +113,7 @@ export function assertCamel(): never {
87
113
  *
88
114
  * @author Jeongho Nam - https://github.com/samchon
89
115
  */
90
- export function isCamel<T>(input: T): CamelCase<T> | null;
116
+ function isCamel<T>(input: T): CamelCase<T> | null;
91
117
 
92
118
  /**
93
119
  * Converts to camel case with type checking.
@@ -101,14 +127,20 @@ export function isCamel<T>(input: T): CamelCase<T> | null;
101
127
  *
102
128
  * @author Jeongho Nam - https://github.com/samchon
103
129
  */
104
- export function isCamel<T>(input: unknown): CamelCase<T> | null;
130
+ function isCamel<T>(input: unknown): CamelCase<T> | null;
105
131
 
106
132
  /**
107
133
  * @internal
108
134
  */
109
- export function isCamel(): never {
135
+ function isCamel(): never {
110
136
  return halt("isCamel");
111
137
  }
138
+ const isCamelPure = /** @__PURE__ */ Object.assign<typeof isCamel, {}, {}>(
139
+ isCamel,
140
+ /** @__PURE__ */ Namespace.notations.camel("isCamel"),
141
+ /** @__PURE__ */ Namespace.is(),
142
+ );
143
+ export { isCamelPure as isCamel };
112
144
 
113
145
  /**
114
146
  * Converts to camel case with type validation.
@@ -124,7 +156,7 @@ export function isCamel(): never {
124
156
  *
125
157
  * @author Jeongho Nam - https://github.com/samchon
126
158
  */
127
- export function validateCamel<T>(input: T): IValidation<CamelCase<T>>;
159
+ function validateCamel<T>(input: T): IValidation<CamelCase<T>>;
128
160
 
129
161
  /**
130
162
  * Converts to camel case with type validation.
@@ -140,14 +172,24 @@ export function validateCamel<T>(input: T): IValidation<CamelCase<T>>;
140
172
  *
141
173
  * @author Jeongho Nam - https://github.com/samchon
142
174
  */
143
- export function validateCamel<T>(input: unknown): IValidation<CamelCase<T>>;
175
+ function validateCamel<T>(input: unknown): IValidation<CamelCase<T>>;
144
176
 
145
177
  /**
146
178
  * @internal
147
179
  */
148
- export function validateCamel(): never {
180
+ function validateCamel(): never {
149
181
  return halt("validateCamel");
150
182
  }
183
+ const validateCamelPure = /** @__PURE__ */ Object.assign<
184
+ typeof validateCamel,
185
+ {},
186
+ {}
187
+ >(
188
+ validateCamel,
189
+ /** @__PURE__ */ Namespace.notations.camel("validateCamel"),
190
+ /** @__PURE__ */ Namespace.validate(),
191
+ );
192
+ export { validateCamelPure as validateCamel };
151
193
 
152
194
  /* -----------------------------------------------------------
153
195
  PASCAL CASE
@@ -171,14 +213,19 @@ export function validateCamel(): never {
171
213
  *
172
214
  * @author Jeongho Nam - https://github.com/samchon
173
215
  */
174
- export function pascal<T>(input: T): PascalCase<T>;
216
+ function pascal<T>(input: T): PascalCase<T>;
175
217
 
176
218
  /**
177
219
  * @internal
178
220
  */
179
- export function pascal(): never {
221
+ function pascal(): never {
180
222
  return halt("pascal");
181
223
  }
224
+ const pascalPure = /** @__PURE__ */ Object.assign<typeof pascal, {}>(
225
+ pascal,
226
+ /** @__PURE__ */ Namespace.notations.pascal("pascal"),
227
+ );
228
+ export { pascalPure as pascal };
182
229
 
183
230
  /**
184
231
  * Converts to pascal case with type assertion.
@@ -188,11 +235,15 @@ export function pascal(): never {
188
235
  *
189
236
  * @template T Type of the input value
190
237
  * @param input Target object
238
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
191
239
  * @returns Pascal case object
192
240
  *
193
241
  * @author Jeongho Nam - https://github.com/samchon
194
242
  */
195
- export function assertPascal<T>(input: T): PascalCase<T>;
243
+ function assertPascal<T>(
244
+ input: T,
245
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
246
+ ): PascalCase<T>;
196
247
 
197
248
  /**
198
249
  * Converts to pascal case with type assertion.
@@ -202,18 +253,32 @@ export function assertPascal<T>(input: T): PascalCase<T>;
202
253
  *
203
254
  * @template T Type of the input value
204
255
  * @param input Target object
256
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
205
257
  * @returns Pascal case object
206
258
  *
207
259
  * @author Jeongho Nam - https://github.com/samchon
208
260
  */
209
- export function assertPascal<T>(input: unknown): PascalCase<T>;
261
+ function assertPascal<T>(
262
+ input: unknown,
263
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
264
+ ): PascalCase<T>;
210
265
 
211
266
  /**
212
267
  * @internal
213
268
  */
214
- export function assertPascal(): never {
269
+ function assertPascal(): never {
215
270
  return halt("assertPascal");
216
271
  }
272
+ const assertPascalPure = /** @__PURE__ */ Object.assign<
273
+ typeof assertPascal,
274
+ {},
275
+ {}
276
+ >(
277
+ assertPascal,
278
+ /** @__PURE__ */ Namespace.notations.pascal("assertPascal"),
279
+ /** @__PURE__ */ Namespace.assert("notations.assertPascal"),
280
+ );
281
+ export { assertPascalPure as assertPascal };
217
282
 
218
283
  /**
219
284
  * Converts to pascal case with type checking.
@@ -227,7 +292,7 @@ export function assertPascal(): never {
227
292
  *
228
293
  * @author Jeongho Nam - https://github.com/samchon
229
294
  */
230
- export function isPascal<T>(input: T): PascalCase<T> | null;
295
+ function isPascal<T>(input: T): PascalCase<T> | null;
231
296
 
232
297
  /**
233
298
  * Converts to pascal case with type checking.
@@ -241,14 +306,20 @@ export function isPascal<T>(input: T): PascalCase<T> | null;
241
306
  *
242
307
  * @author Jeongho Nam - https://github.com/samchon
243
308
  */
244
- export function isPascal<T>(input: unknown): PascalCase<T> | null;
309
+ function isPascal<T>(input: unknown): PascalCase<T> | null;
245
310
 
246
311
  /**
247
312
  * @internal
248
313
  */
249
- export function isPascal(): never {
314
+ function isPascal(): never {
250
315
  return halt("isPascal");
251
316
  }
317
+ const isPascalPure = /** @__PURE__ */ Object.assign<typeof isPascal, {}, {}>(
318
+ isPascal,
319
+ /** @__PURE__ */ Namespace.notations.pascal("isPascal"),
320
+ /** @__PURE__ */ Namespace.is(),
321
+ );
322
+ export { isPascalPure as isPascal };
252
323
 
253
324
  /**
254
325
  * Converts to pascal case with type validation.
@@ -264,7 +335,7 @@ export function isPascal(): never {
264
335
  *
265
336
  * @author Jeongho Nam - https://github.com/samchon
266
337
  */
267
- export function validatePascal<T>(input: T): IValidation<PascalCase<T>>;
338
+ function validatePascal<T>(input: T): IValidation<PascalCase<T>>;
268
339
 
269
340
  /**
270
341
  * Converts to pascal case with type validation.
@@ -280,14 +351,24 @@ export function validatePascal<T>(input: T): IValidation<PascalCase<T>>;
280
351
  *
281
352
  * @author Jeongho Nam - https://github.com/samchon
282
353
  */
283
- export function validatePascal<T>(input: unknown): IValidation<PascalCase<T>>;
354
+ function validatePascal<T>(input: unknown): IValidation<PascalCase<T>>;
284
355
 
285
356
  /**
286
357
  * @internal
287
358
  */
288
- export function validatePascal(): never {
359
+ function validatePascal(): never {
289
360
  return halt("validatePascal");
290
361
  }
362
+ const validatePascalPure = /** @__PURE__ */ Object.assign<
363
+ typeof validatePascal,
364
+ {},
365
+ {}
366
+ >(
367
+ validatePascal,
368
+ /** @__PURE__ */ Namespace.notations.pascal("validatePascal"),
369
+ /** @__PURE__ */ Namespace.validate(),
370
+ );
371
+ export { validatePascalPure as validatePascal };
291
372
 
292
373
  /* -----------------------------------------------------------
293
374
  SNAKE CASE
@@ -311,14 +392,19 @@ export function validatePascal(): never {
311
392
  *
312
393
  * @author Jeongho Nam - https://github.com/samchon
313
394
  */
314
- export function snake<T>(input: T): SnakeCase<T>;
395
+ function snake<T>(input: T): SnakeCase<T>;
315
396
 
316
397
  /**
317
398
  * @internal
318
399
  */
319
- export function snake(): never {
400
+ function snake(): never {
320
401
  return halt("snake");
321
402
  }
403
+ const snakePure = /** @__PURE__ */ Object.assign<typeof snake, {}>(
404
+ snake,
405
+ /** @__PURE__ */ Namespace.notations.snake("snake"),
406
+ );
407
+ export { snakePure as snake };
322
408
 
323
409
  /**
324
410
  * Converts to snake case with type assertion.
@@ -328,11 +414,15 @@ export function snake(): never {
328
414
  *
329
415
  * @template T Type of the input value
330
416
  * @param input Target object
417
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
331
418
  * @returns Snake case object
332
419
  *
333
420
  * @author Jeongho Nam - https://github.com/samchon
334
421
  */
335
- export function assertSnake<T>(input: T): SnakeCase<T>;
422
+ function assertSnake<T>(
423
+ input: T,
424
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
425
+ ): SnakeCase<T>;
336
426
 
337
427
  /**
338
428
  * Converts to snake case with type assertion.
@@ -342,18 +432,32 @@ export function assertSnake<T>(input: T): SnakeCase<T>;
342
432
  *
343
433
  * @template T Type of the input value
344
434
  * @param input Target object
435
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
345
436
  * @returns Snake case object
346
437
  *
347
438
  * @author Jeongho Nam - https://github.com/samchon
348
439
  */
349
- export function assertSnake<T>(input: unknown): SnakeCase<T>;
440
+ function assertSnake<T>(
441
+ input: unknown,
442
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
443
+ ): SnakeCase<T>;
350
444
 
351
445
  /**
352
446
  * @internal
353
447
  */
354
- export function assertSnake(): never {
448
+ function assertSnake(): never {
355
449
  return halt("assertSnake");
356
450
  }
451
+ const assertSnakePure = /** @__PURE__ */ Object.assign<
452
+ typeof assertSnake,
453
+ {},
454
+ {}
455
+ >(
456
+ assertSnake,
457
+ /** @__PURE__ */ Namespace.notations.snake("assertSnake"),
458
+ /** @__PURE__ */ Namespace.assert("notations.assertSnake"),
459
+ );
460
+ export { assertSnakePure as assertSnake };
357
461
 
358
462
  /**
359
463
  * Converts to snake case with type checking.
@@ -367,7 +471,7 @@ export function assertSnake(): never {
367
471
  *
368
472
  * @author Jeongho Nam - https://github.com/samchon
369
473
  */
370
- export function isSnake<T>(input: T): SnakeCase<T> | null;
474
+ function isSnake<T>(input: T): SnakeCase<T> | null;
371
475
 
372
476
  /**
373
477
  * Converts to snake case with type checking.
@@ -381,14 +485,20 @@ export function isSnake<T>(input: T): SnakeCase<T> | null;
381
485
  *
382
486
  * @author Jeongho Nam - https://github.com/samchon
383
487
  */
384
- export function isSnake<T>(input: unknown): SnakeCase<T> | null;
488
+ function isSnake<T>(input: unknown): SnakeCase<T> | null;
385
489
 
386
490
  /**
387
491
  * @internal
388
492
  */
389
- export function isSnake(): never {
493
+ function isSnake(): never {
390
494
  return halt("isSnake");
391
495
  }
496
+ const isSnakePure = /** @__PURE__ */ Object.assign<typeof isSnake, {}, {}>(
497
+ isSnake,
498
+ /** @__PURE__ */ Namespace.notations.snake("isSnake"),
499
+ /** @__PURE__ */ Namespace.is(),
500
+ );
501
+ export { isSnakePure as isSnake };
392
502
 
393
503
  /**
394
504
  * Converts to snake case with type validation.
@@ -404,7 +514,7 @@ export function isSnake(): never {
404
514
  *
405
515
  * @author Jeongho Nam - https://github.com/samchon
406
516
  */
407
- export function validateSnake<T>(input: T): IValidation<SnakeCase<T>>;
517
+ function validateSnake<T>(input: T): IValidation<SnakeCase<T>>;
408
518
 
409
519
  /**
410
520
  * Converts to snake case with type validation.
@@ -420,15 +530,24 @@ export function validateSnake<T>(input: T): IValidation<SnakeCase<T>>;
420
530
  *
421
531
  * @author Jeongho Nam - https://github.com/samchon
422
532
  */
423
- export function validateSnake<T>(input: unknown): IValidation<SnakeCase<T>>;
533
+ function validateSnake<T>(input: unknown): IValidation<SnakeCase<T>>;
424
534
 
425
535
  /**
426
536
  * @internal
427
537
  */
428
- export function validateSnake(): never {
538
+ function validateSnake(): never {
429
539
  return halt("validateSnake");
430
540
  }
431
-
541
+ const validateSnakePure = /** @__PURE__ */ Object.assign<
542
+ typeof validateSnake,
543
+ {},
544
+ {}
545
+ >(
546
+ validateSnake,
547
+ /** @__PURE__ */ Namespace.notations.snake("validateSnake"),
548
+ /** @__PURE__ */ Namespace.validate(),
549
+ );
550
+ export { validateSnakePure as validateSnake };
432
551
  /* -----------------------------------------------------------
433
552
  FACTORY FUNCTIONS
434
553
  ----------------------------------------------------------- */
@@ -441,7 +560,7 @@ export function validateSnake(): never {
441
560
  *
442
561
  * @author Jeongho Nam - https://github.com/samchon
443
562
  */
444
- export function createCamel(): never;
563
+ function createCamel(): never;
445
564
 
446
565
  /**
447
566
  * Creates a reusable {@link camel} function.
@@ -451,42 +570,63 @@ export function createCamel(): never;
451
570
  *
452
571
  * @author Jeongho Nam - https://github.com/samchon
453
572
  */
454
- export function createCamel<T>(): (input: T) => CamelCase<T>;
573
+ function createCamel<T>(): (input: T) => CamelCase<T>;
455
574
 
456
575
  /**
457
576
  * @internal
458
577
  */
459
- export function createCamel(): never {
578
+ function createCamel(): never {
460
579
  halt("createCamel");
461
580
  }
581
+ const createCamelPure = /** @__PURE__ */ Object.assign<typeof createCamel, {}>(
582
+ createCamel,
583
+ /** @__PURE__ */ Namespace.notations.camel("createCamel"),
584
+ );
585
+ export { createCamelPure as createCamel };
462
586
 
463
587
  /**
464
588
  * Creates a reusable {@link assertCamel} function.
465
589
  *
466
590
  * @danger You must configure the generic argument `T`
591
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
467
592
  * @returns Nothing until be configure the generic argument `T`
468
593
  * @throws compile error
469
594
  *
470
595
  * @author Jeongho Nam - https://github.com/samchon
471
596
  */
472
- export function createAssertCamel(): never;
597
+ function createAssertCamel(
598
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
599
+ ): never;
473
600
 
474
601
  /**
475
602
  * Creates a reusable {@link assertCamel} function.
476
603
  *
477
604
  * @template T Type of the input value
605
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
478
606
  * @returns A reusable `assertCamel` function
479
607
  *
480
608
  * @author Jeongho Nam - https://github.com/samchon
481
609
  */
482
- export function createAssertCamel<T>(): (input: T) => CamelCase<T>;
610
+ function createAssertCamel<T>(
611
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
612
+ ): (input: T) => CamelCase<T>;
483
613
 
484
614
  /**
485
615
  * @internal
486
616
  */
487
- export function createAssertCamel(): never {
617
+ function createAssertCamel(): never {
488
618
  halt("createAssertCamel");
489
619
  }
620
+ const createAssertCamelPure = /** @__PURE__ */ Object.assign<
621
+ typeof createAssertCamel,
622
+ {},
623
+ {}
624
+ >(
625
+ createAssertCamel,
626
+ /** @__PURE__ */ Namespace.notations.camel("createAssertCamel"),
627
+ /** @__PURE__ */ Namespace.assert("notations.createAssertCamel"),
628
+ );
629
+ export { createAssertCamelPure as createAssertCamel };
490
630
 
491
631
  /**
492
632
  * Creates a reusable {@link isCamel} function.
@@ -497,7 +637,7 @@ export function createAssertCamel(): never {
497
637
  *
498
638
  * @author Jeongho Nam - https://github.com/samchon
499
639
  */
500
- export function createIsCamel(): never;
640
+ function createIsCamel(): never;
501
641
 
502
642
  /**
503
643
  * Creates a reusable {@link isCamel} function.
@@ -507,14 +647,24 @@ export function createIsCamel(): never;
507
647
  *
508
648
  * @author Jeongho Nam - https://github.com/samchon
509
649
  */
510
- export function createIsCamel<T>(): (input: T) => CamelCase<T> | null;
650
+ function createIsCamel<T>(): (input: T) => CamelCase<T> | null;
511
651
 
512
652
  /**
513
653
  * @internal
514
654
  */
515
- export function createIsCamel(): never {
655
+ function createIsCamel(): never {
516
656
  halt("createIsCamel");
517
657
  }
658
+ const createIsCamelPure = /** @__PURE__ */ Object.assign<
659
+ typeof createIsCamel,
660
+ {},
661
+ {}
662
+ >(
663
+ createIsCamel,
664
+ /** @__PURE__ */ Namespace.notations.camel("createIsCamel"),
665
+ /** @__PURE__ */ Namespace.is(),
666
+ );
667
+ export { createIsCamelPure as createIsCamel };
518
668
 
519
669
  /**
520
670
  * Creates a reusable {@link validateCamel} function.
@@ -525,7 +675,7 @@ export function createIsCamel(): never {
525
675
  *
526
676
  * @author Jeongho Nam - https://github.com/samchon
527
677
  */
528
- export function createValidateCamel(): never;
678
+ function createValidateCamel(): never;
529
679
 
530
680
  /**
531
681
  * Creates a reusable {@link validateCamel} function.
@@ -535,16 +685,24 @@ export function createValidateCamel(): never;
535
685
  *
536
686
  * @author Jeongho Nam - https://github.com/samchon
537
687
  */
538
- export function createValidateCamel<T>(): (
539
- input: T,
540
- ) => IValidation<CamelCase<T>>;
688
+ function createValidateCamel<T>(): (input: T) => IValidation<CamelCase<T>>;
541
689
 
542
690
  /**
543
691
  * @internal
544
692
  */
545
- export function createValidateCamel(): never {
693
+ function createValidateCamel(): never {
546
694
  halt("createValidateCamel");
547
695
  }
696
+ const createValidateCamelPure = /** @__PURE__ */ Object.assign<
697
+ typeof createValidateCamel,
698
+ {},
699
+ {}
700
+ >(
701
+ createValidateCamel,
702
+ /** @__PURE__ */ Namespace.notations.camel("createValidateCamel"),
703
+ /** @__PURE__ */ Namespace.validate(),
704
+ );
705
+ export { createValidateCamelPure as createValidateCamel };
548
706
 
549
707
  /**
550
708
  * Creates a reusable {@link pascal} function.
@@ -555,7 +713,7 @@ export function createValidateCamel(): never {
555
713
  *
556
714
  * @author Jeongho Nam - https://github.com/samchon
557
715
  */
558
- export function createPascal(): never;
716
+ function createPascal(): never;
559
717
 
560
718
  /**
561
719
  * Creates a reusable {@link pascal} function.
@@ -565,42 +723,63 @@ export function createPascal(): never;
565
723
  *
566
724
  * @author Jeongho Nam - https://github.com/samchon
567
725
  */
568
- export function createPascal<T>(): (input: T) => PascalCase<T>;
726
+ function createPascal<T>(): (input: T) => PascalCase<T>;
569
727
 
570
728
  /**
571
729
  * @internal
572
730
  */
573
- export function createPascal(): never {
731
+ function createPascal(): never {
574
732
  halt("createPascal");
575
733
  }
734
+ const createPascalPure = /** @__PURE__ */ Object.assign<
735
+ typeof createPascal,
736
+ {}
737
+ >(createPascal, /** @__PURE__ */ Namespace.notations.pascal("createPascal"));
738
+ export { createPascalPure as createPascal };
576
739
 
577
740
  /**
578
741
  * Creates a reusable {@link assertPascal} function.
579
742
  *
580
743
  * @danger You must configure the generic argument `T`
744
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
581
745
  * @returns Nothing until be configure the generic argument `T`
582
746
  * @throws compile error
583
747
  *
584
748
  * @author Jeongho Nam - https://github.com/samchon
585
749
  */
586
- export function createAssertPascal(): never;
750
+ function createAssertPascal(
751
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
752
+ ): never;
587
753
 
588
754
  /**
589
755
  * Creates a reusable {@link assertPascal} function.
590
756
  *
591
757
  * @template T Type of the input value
758
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
592
759
  * @returns A reusable `assertPascal` function
593
760
  *
594
761
  * @author Jeongho Nam - https://github.com/samchon
595
762
  */
596
- export function createAssertPascal<T>(): (input: T) => PascalCase<T>;
763
+ function createAssertPascal<T>(
764
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
765
+ ): (input: T) => PascalCase<T>;
597
766
 
598
767
  /**
599
768
  * @internal
600
769
  */
601
- export function createAssertPascal(): never {
770
+ function createAssertPascal(): never {
602
771
  halt("createAssertPascal");
603
772
  }
773
+ const createAssertPascalPure = /** @__PURE__ */ Object.assign<
774
+ typeof createAssertPascal,
775
+ {},
776
+ {}
777
+ >(
778
+ createAssertPascal,
779
+ /** @__PURE__ */ Namespace.notations.pascal("createAssertPascal"),
780
+ /** @__PURE__ */ Namespace.assert("notations.createAssertPascal"),
781
+ );
782
+ export { createAssertPascalPure as createAssertPascal };
604
783
 
605
784
  /**
606
785
  * Creates a reusable {@link isPascal} function.
@@ -611,7 +790,7 @@ export function createAssertPascal(): never {
611
790
  *
612
791
  * @author Jeongho Nam - https://github.com/samchon
613
792
  */
614
- export function createIsPascal(): never;
793
+ function createIsPascal(): never;
615
794
 
616
795
  /**
617
796
  * Creates a reusable {@link isPascal} function.
@@ -621,14 +800,24 @@ export function createIsPascal(): never;
621
800
  *
622
801
  * @author Jeongho Nam - https://github.com/samchon
623
802
  */
624
- export function createIsPascal<T>(): (input: T) => PascalCase<T> | null;
803
+ function createIsPascal<T>(): (input: T) => PascalCase<T> | null;
625
804
 
626
805
  /**
627
806
  * @internal
628
807
  */
629
- export function createIsPascal(): never {
808
+ function createIsPascal(): never {
630
809
  halt("createIsPascal");
631
810
  }
811
+ const createIsPascalPure = /** @__PURE__ */ Object.assign<
812
+ typeof createIsPascal,
813
+ {},
814
+ {}
815
+ >(
816
+ createIsPascal,
817
+ /** @__PURE__ */ Namespace.notations.pascal("createIsPascal"),
818
+ /** @__PURE__ */ Namespace.is(),
819
+ );
820
+ export { createIsPascalPure as createIsPascal };
632
821
 
633
822
  /**
634
823
  * Creates a reusable {@link validatePascal} function.
@@ -639,7 +828,7 @@ export function createIsPascal(): never {
639
828
  *
640
829
  * @author Jeongho Nam - https://github.com/samchon
641
830
  */
642
- export function createValidatePascal(): never;
831
+ function createValidatePascal(): never;
643
832
 
644
833
  /**
645
834
  * Creates a reusable {@link validatePascal} function.
@@ -649,16 +838,24 @@ export function createValidatePascal(): never;
649
838
  *
650
839
  * @author Jeongho Nam - https://github.com/samchon
651
840
  */
652
- export function createValidatePascal<T>(): (
653
- input: T,
654
- ) => IValidation<PascalCase<T>>;
841
+ function createValidatePascal<T>(): (input: T) => IValidation<PascalCase<T>>;
655
842
 
656
843
  /**
657
844
  * @internal
658
845
  */
659
- export function createValidatePascal(): never {
846
+ function createValidatePascal(): never {
660
847
  halt("createValidatePascal");
661
848
  }
849
+ const createValidatePascalPure = /** @__PURE__ */ Object.assign<
850
+ typeof createValidatePascal,
851
+ {},
852
+ {}
853
+ >(
854
+ createValidatePascal,
855
+ /** @__PURE__ */ Namespace.notations.pascal("createValidatePascal"),
856
+ /** @__PURE__ */ Namespace.validate(),
857
+ );
858
+ export { createValidatePascalPure as createValidatePascal };
662
859
 
663
860
  /**
664
861
  * Creates a reusable {@link snake} function.
@@ -669,7 +866,7 @@ export function createValidatePascal(): never {
669
866
  *
670
867
  * @author Jeongho Nam - https://github.com/samchon
671
868
  */
672
- export function createSnake(): never;
869
+ function createSnake(): never;
673
870
 
674
871
  /**
675
872
  * Creates a reusable {@link snake} function.
@@ -679,42 +876,63 @@ export function createSnake(): never;
679
876
  *
680
877
  * @author Jeongho Nam - https://github.com/samchon
681
878
  */
682
- export function createSnake<T>(): (input: T) => SnakeCase<T>;
879
+ function createSnake<T>(): (input: T) => SnakeCase<T>;
683
880
 
684
881
  /**
685
882
  * @internal
686
883
  */
687
- export function createSnake(): never {
884
+ function createSnake(): never {
688
885
  halt("createSnake");
689
886
  }
887
+ const createSnakePure = /** @__PURE__ */ Object.assign<typeof createSnake, {}>(
888
+ createSnake,
889
+ /** @__PURE__ */ Namespace.notations.snake("createSnake"),
890
+ );
891
+ export { createSnakePure as createSnake };
690
892
 
691
893
  /**
692
894
  * Creates a reusable {@link assertSnake} function.
693
895
  *
694
896
  * @danger You must configure the generic argument `T`
897
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
695
898
  * @returns Nothing until be configure the generic argument `T`
696
899
  * @throws compile error
697
900
  *
698
901
  * @author Jeongho Nam - https://github.com/samchon
699
902
  */
700
- export function createAssertSnake(): never;
903
+ function createAssertSnake(
904
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
905
+ ): never;
701
906
 
702
907
  /**
703
908
  * Creates a reusable {@link assertSnake} function.
704
909
  *
705
910
  * @template T Type of the input value
911
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
706
912
  * @returns A reusable `assertSnake` function
707
913
  *
708
914
  * @author Jeongho Nam - https://github.com/samchon
709
915
  */
710
- export function createAssertSnake<T>(): (input: T) => SnakeCase<T>;
916
+ function createAssertSnake<T>(
917
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
918
+ ): (input: T) => SnakeCase<T>;
711
919
 
712
920
  /**
713
921
  * @internal
714
922
  */
715
- export function createAssertSnake(): never {
923
+ function createAssertSnake(): never {
716
924
  halt("createAssertSnake");
717
925
  }
926
+ const createAssertSnakePure = /** @__PURE__ */ Object.assign<
927
+ typeof createAssertSnake,
928
+ {},
929
+ {}
930
+ >(
931
+ createAssertSnake,
932
+ /** @__PURE__ */ Namespace.notations.snake("createAssertSnake"),
933
+ /** @__PURE__ */ Namespace.assert("notations.createAssertSnake"),
934
+ );
935
+ export { createAssertSnakePure as createAssertSnake };
718
936
 
719
937
  /**
720
938
  * Creates a reusable {@link isSnake} function.
@@ -725,7 +943,7 @@ export function createAssertSnake(): never {
725
943
  *
726
944
  * @author Jeongho Nam - https://github.com/samchon
727
945
  */
728
- export function createIsSnake(): never;
946
+ function createIsSnake(): never;
729
947
 
730
948
  /**
731
949
  * Creates a reusable {@link isSnake} function.
@@ -735,14 +953,24 @@ export function createIsSnake(): never;
735
953
  *
736
954
  * @author Jeongho Nam - https://github.com/samchon
737
955
  */
738
- export function createIsSnake<T>(): (input: T) => SnakeCase<T> | null;
956
+ function createIsSnake<T>(): (input: T) => SnakeCase<T> | null;
739
957
 
740
958
  /**
741
959
  * @internal
742
960
  */
743
- export function createIsSnake(): never {
961
+ function createIsSnake(): never {
744
962
  halt("createIsSnake");
745
963
  }
964
+ const createIsSnakePure = /** @__PURE__ */ Object.assign<
965
+ typeof createIsSnake,
966
+ {},
967
+ {}
968
+ >(
969
+ createIsSnake,
970
+ /** @__PURE__ */ Namespace.notations.snake("createIsSnake"),
971
+ /** @__PURE__ */ Namespace.is(),
972
+ );
973
+ export { createIsSnakePure as createIsSnake };
746
974
 
747
975
  /**
748
976
  * Creates a reusable {@link validateSnake} function.
@@ -753,7 +981,7 @@ export function createIsSnake(): never {
753
981
  *
754
982
  * @author Jeongho Nam - https://github.com/samchon
755
983
  */
756
- export function createValidateSnake(): never;
984
+ function createValidateSnake(): never;
757
985
 
758
986
  /**
759
987
  * Creates a reusable {@link validateSnake} function.
@@ -763,16 +991,24 @@ export function createValidateSnake(): never;
763
991
  *
764
992
  * @author Jeongho Nam - https://github.com/samchon
765
993
  */
766
- export function createValidateSnake<T>(): (
767
- input: T,
768
- ) => IValidation<SnakeCase<T>>;
994
+ function createValidateSnake<T>(): (input: T) => IValidation<SnakeCase<T>>;
769
995
 
770
996
  /**
771
997
  * @internal
772
998
  */
773
- export function createValidateSnake(): never {
999
+ function createValidateSnake(): never {
774
1000
  halt("createValidateSnake");
775
1001
  }
1002
+ const createValidateSnakePure = /** @__PURE__ */ Object.assign<
1003
+ typeof createValidateSnake,
1004
+ {},
1005
+ {}
1006
+ >(
1007
+ createValidateSnake,
1008
+ /** @__PURE__ */ Namespace.notations.snake("createValidateSnake"),
1009
+ /** @__PURE__ */ Namespace.validate(),
1010
+ );
1011
+ export { createValidateSnakePure as createValidateSnake };
776
1012
 
777
1013
  /**
778
1014
  * @internal