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/protobuf.ts CHANGED
@@ -1,5 +1,8 @@
1
+ import * as Namespace from "./functional/Namespace";
2
+
1
3
  import { IValidation } from "./IValidation";
2
4
  import { Resolved } from "./Resolved";
5
+ import { TypeGuardError } from "./TypeGuardError";
3
6
 
4
7
  /* ===========================================================
5
8
  PROTOCOL BUFFER
@@ -92,7 +95,7 @@ export function message(): never {
92
95
  *
93
96
  * @author Jeongho Nam - https://github.com/samchon
94
97
  */
95
- export function decode(input: Uint8Array): never;
98
+ function decode(input: Uint8Array): never;
96
99
 
97
100
  /**
98
101
  * Protocol Buffer Decoder.
@@ -122,14 +125,19 @@ export function decode(input: Uint8Array): never;
122
125
  *
123
126
  * @author Jeongho Nam - https://github.com/samchon
124
127
  */
125
- export function decode<T>(input: Uint8Array): Resolved<T>;
128
+ function decode<T>(input: Uint8Array): Resolved<T>;
126
129
 
127
130
  /**
128
131
  * @internal
129
132
  */
130
- export function decode(): never {
133
+ function decode(): never {
131
134
  halt("decode");
132
135
  }
136
+ const decodePure = /** @__PURE__ */ Object.assign<typeof decode, {}>(
137
+ decode,
138
+ /** @__PURE__ */ Namespace.protobuf.decode("decode"),
139
+ );
140
+ export { decodePure as decode };
133
141
 
134
142
  /**
135
143
  * > You must configure the generic argument `T`.
@@ -156,11 +164,15 @@ export function decode(): never {
156
164
  *
157
165
  * @template T Expected type of decoded value
158
166
  * @param input Protobuf Buffer binary data
167
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
159
168
  * @returns Decoded value
160
169
  *
161
170
  * @author Jeongho Nam - https://github.com/samchon
162
171
  */
163
- export function assertDecode(input: Uint8Array): never;
172
+ function assertDecode(
173
+ input: Uint8Array,
174
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
175
+ ): never;
164
176
 
165
177
  /**
166
178
  * Protocol Buffer Decoder wity type assertion, but not safe.
@@ -185,19 +197,34 @@ export function assertDecode(input: Uint8Array): never;
185
197
  *
186
198
  * @template T Expected type of decoded value
187
199
  * @param input Protobuf Buffer binary data
200
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
188
201
  * @returns Decoded value
189
202
  *
190
203
  * @author Jeongho Nam - https://github.com/samchon
191
204
  */
192
- export function assertDecode<T>(input: Uint8Array): Resolved<T>;
205
+ function assertDecode<T>(
206
+ input: Uint8Array,
207
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
208
+ ): Resolved<T>;
193
209
 
194
210
  /**
195
211
  * @internal
196
212
  */
197
- export function assertDecode(): never {
213
+ function assertDecode(): never {
198
214
  halt("assertDecode");
199
215
  }
200
216
 
217
+ const assertDecodePure = /** @__PURE__ */ Object.assign<
218
+ typeof assertDecode,
219
+ {},
220
+ {}
221
+ >(
222
+ assertDecode,
223
+ /** @__PURE__ */ Namespace.assert("protobuf.assertDecode"),
224
+ /** @__PURE__ */ Namespace.protobuf.decode("assertDecode"),
225
+ );
226
+ export { assertDecodePure as assertDecode };
227
+
201
228
  /**
202
229
  * > You must configure the generic argument `T`.
203
230
  *
@@ -227,7 +254,7 @@ export function assertDecode(): never {
227
254
  *
228
255
  * @author Jeongho Nam - https://github.com/samchon
229
256
  */
230
- export function isDecode(input: Uint8Array): never;
257
+ function isDecode(input: Uint8Array): never;
231
258
 
232
259
  /**
233
260
  * Protocol Buffer Decoder wity type checking, but not safe.
@@ -256,14 +283,20 @@ export function isDecode(input: Uint8Array): never;
256
283
  *
257
284
  * @author Jeongho Nam - https://github.com/samchon
258
285
  */
259
- export function isDecode<T>(input: Uint8Array): Resolved<T> | null;
286
+ function isDecode<T>(input: Uint8Array): Resolved<T> | null;
260
287
 
261
288
  /**
262
289
  * @internal
263
290
  */
264
- export function isDecode(): never {
291
+ function isDecode(): never {
265
292
  halt("isDecode");
266
293
  }
294
+ const isDecodePure = /** @__PURE__ */ Object.assign<typeof isDecode, {}, {}>(
295
+ isDecode,
296
+ /** @__PURE__ */ Namespace.is(),
297
+ /** @__PURE__ */ Namespace.protobuf.decode("isDecode"),
298
+ );
299
+ export { isDecodePure as isDecode };
267
300
 
268
301
  /**
269
302
  * > You must configure the generic argument `T`.
@@ -295,7 +328,7 @@ export function isDecode(): never {
295
328
  *
296
329
  * @author Jeongho Nam - https://github.com/samchon
297
330
  */
298
- export function validateDecode(input: Uint8Array): never;
331
+ function validateDecode(input: Uint8Array): never;
299
332
 
300
333
  /**
301
334
  * Protocol Buffer Decoder wity type validation, but not safe.
@@ -325,14 +358,24 @@ export function validateDecode(input: Uint8Array): never;
325
358
  *
326
359
  * @author Jeongho Nam - https://github.com/samchon
327
360
  */
328
- export function validateDecode<T>(input: Uint8Array): IValidation<Resolved<T>>;
361
+ function validateDecode<T>(input: Uint8Array): IValidation<Resolved<T>>;
329
362
 
330
363
  /**
331
364
  * @internal
332
365
  */
333
- export function validateDecode(): never {
366
+ function validateDecode(): never {
334
367
  halt("validateDecode");
335
368
  }
369
+ const validateDecodePure = /** @__PURE__ */ Object.assign<
370
+ typeof validateDecode,
371
+ {},
372
+ {}
373
+ >(
374
+ validateDecode,
375
+ /** @__PURE__ */ Namespace.validate(),
376
+ /** @__PURE__ */ Namespace.protobuf.decode("validateDecode"),
377
+ );
378
+ export { validateDecodePure as validateDecode };
336
379
 
337
380
  /* -----------------------------------------------------------
338
381
  ENCODE
@@ -364,14 +407,19 @@ export function validateDecode(): never {
364
407
  *
365
408
  * @author Jeongho Nam - https://github.com/samchon
366
409
  */
367
- export function encode<T>(input: T): Uint8Array;
410
+ function encode<T>(input: T): Uint8Array;
368
411
 
369
412
  /**
370
413
  * @internal
371
414
  */
372
- export function encode(): never {
415
+ function encode(): never {
373
416
  halt("encode");
374
417
  }
418
+ const encodePure = /** @__PURE__ */ Object.assign<typeof encode, {}>(
419
+ encode,
420
+ /** @__PURE__ */ Namespace.protobuf.encode("encode"),
421
+ );
422
+ export { encodePure as encode };
375
423
 
376
424
  /**
377
425
  * Protocol Buffer Encoder with type assertion.
@@ -400,11 +448,15 @@ export function encode(): never {
400
448
  *
401
449
  * @template T Type of the value input
402
450
  * @param input A value to encode
451
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
403
452
  * @returns Encoded binary data
404
453
  *
405
454
  * @author Jeongho Nam - https://github.com/samchon
406
455
  */
407
- export function assertEncode<T>(input: T): Uint8Array;
456
+ function assertEncode<T>(
457
+ input: T,
458
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
459
+ ): Uint8Array;
408
460
 
409
461
  /**
410
462
  * Protocol Buffer Encoder with type assertion.
@@ -433,18 +485,32 @@ export function assertEncode<T>(input: T): Uint8Array;
433
485
  *
434
486
  * @template T Type of the value input
435
487
  * @param input A value to encode
488
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
436
489
  * @returns Encoded binary data
437
490
  *
438
491
  * @author Jeongho Nam - https://github.com/samchon
439
492
  */
440
- export function assertEncode<T>(input: unknown): Uint8Array;
493
+ function assertEncode<T>(
494
+ input: unknown,
495
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
496
+ ): Uint8Array;
441
497
 
442
498
  /**
443
499
  * @internal
444
500
  */
445
- export function assertEncode(): never {
501
+ function assertEncode(): never {
446
502
  halt("assertEncode");
447
503
  }
504
+ const assertEncodePure = /** @__PURE__ */ Object.assign<
505
+ typeof assertEncode,
506
+ {},
507
+ {}
508
+ >(
509
+ assertEncode,
510
+ /** @__PURE__ */ Namespace.assert("protobuf.assertEncode"),
511
+ /** @__PURE__ */ Namespace.protobuf.encode("assertEncode"),
512
+ );
513
+ export { assertEncodePure as assertEncode };
448
514
 
449
515
  /**
450
516
  * Protocol Buffer Encoder with type checking.
@@ -477,7 +543,7 @@ export function assertEncode(): never {
477
543
  *
478
544
  * @author Jeongho Nam - https://github.com/samchon
479
545
  */
480
- export function isEncode<T>(input: T): Uint8Array | null;
546
+ function isEncode<T>(input: T): Uint8Array | null;
481
547
 
482
548
  /**
483
549
  * Protocol Buffer Encoder with type checking.
@@ -510,14 +576,20 @@ export function isEncode<T>(input: T): Uint8Array | null;
510
576
  *
511
577
  * @author Jeongho Nam - https://github.com/samchon
512
578
  */
513
- export function isEncode<T>(input: unknown): Uint8Array | null;
579
+ function isEncode<T>(input: unknown): Uint8Array | null;
514
580
 
515
581
  /**
516
582
  * @internal
517
583
  */
518
- export function isEncode(): never {
584
+ function isEncode(): never {
519
585
  halt("isEncode");
520
586
  }
587
+ const isEncodePure = /** @__PURE__ */ Object.assign<typeof isEncode, {}, {}>(
588
+ isEncode,
589
+ /** @__PURE__ */ Namespace.is(),
590
+ /** @__PURE__ */ Namespace.protobuf.encode("isEncode"),
591
+ );
592
+ export { isEncodePure as isEncode };
521
593
 
522
594
  /**
523
595
  * Protocol Buffer Encoder with type validation.
@@ -551,7 +623,7 @@ export function isEncode(): never {
551
623
  *
552
624
  * @author Jeongho Nam - https://github.com/samchon
553
625
  */
554
- export function validateEncode<T>(input: T): IValidation<Uint8Array>;
626
+ function validateEncode<T>(input: T): IValidation<Uint8Array>;
555
627
 
556
628
  /**
557
629
  * Protocol Buffer Encoder with type validation.
@@ -585,14 +657,24 @@ export function validateEncode<T>(input: T): IValidation<Uint8Array>;
585
657
  *
586
658
  * @author Jeongho Nam - https://github.com/samchon
587
659
  */
588
- export function validateEncode<T>(input: unknown): IValidation<Uint8Array>;
660
+ function validateEncode<T>(input: unknown): IValidation<Uint8Array>;
589
661
 
590
662
  /**
591
663
  * @internal
592
664
  */
593
- export function validateEncode(): never {
665
+ function validateEncode(): never {
594
666
  halt("validateEncode");
595
667
  }
668
+ const validateEncodePure = /** @__PURE__ */ Object.assign<
669
+ typeof validateEncode,
670
+ {},
671
+ {}
672
+ >(
673
+ validateEncode,
674
+ /** @__PURE__ */ Namespace.validate(),
675
+ /** @__PURE__ */ Namespace.protobuf.encode("validateEncode"),
676
+ );
677
+ export { validateEncodePure as validateEncode };
596
678
 
597
679
  /* -----------------------------------------------------------
598
680
  FACTORY FUNCTIONS
@@ -606,7 +688,7 @@ export function validateEncode(): never {
606
688
  *
607
689
  * @author Jeongho Nam - https://github.com/samchon
608
690
  */
609
- export function createDecode(): never;
691
+ function createDecode(): never;
610
692
 
611
693
  /**
612
694
  * Creates a reusable {@link decode} function.
@@ -616,14 +698,19 @@ export function createDecode(): never;
616
698
  *
617
699
  * @author Jeongho Nam - https://github.com/samchon
618
700
  */
619
- export function createDecode<T>(): (input: Uint8Array) => Resolved<T>;
701
+ function createDecode<T>(): (input: Uint8Array) => Resolved<T>;
620
702
 
621
703
  /**
622
704
  * @internal
623
705
  */
624
- export function createDecode<T>(): (input: Uint8Array) => Resolved<T> {
706
+ function createDecode<T>(): (input: Uint8Array) => Resolved<T> {
625
707
  halt("createDecode");
626
708
  }
709
+ const createDecodePure = /** @__PURE__ */ Object.assign<
710
+ typeof createDecode,
711
+ {}
712
+ >(createDecode, /** @__PURE__ */ Namespace.protobuf.decode("createDecode"));
713
+ export { createDecodePure as createDecode };
627
714
 
628
715
  /**
629
716
  * Creates a reusable {@link isDecode} function.
@@ -634,7 +721,7 @@ export function createDecode<T>(): (input: Uint8Array) => Resolved<T> {
634
721
  *
635
722
  * @author Jeongho Nam - https://github.com/samchon
636
723
  */
637
- export function createIsDecode(): never;
724
+ function createIsDecode(): never;
638
725
 
639
726
  /**
640
727
  * Creates a reusable {@link isDecode} function.
@@ -644,42 +731,68 @@ export function createIsDecode(): never;
644
731
  *
645
732
  * @author Jeongho Nam - https://github.com/samchon
646
733
  */
647
- export function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null;
734
+ function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null;
648
735
 
649
736
  /**
650
737
  * @internal
651
738
  */
652
- export function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null {
739
+ function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null {
653
740
  halt("createIsDecode");
654
741
  }
742
+ const createIsDecodePure = /** @__PURE__ */ Object.assign<
743
+ typeof createIsDecode,
744
+ {},
745
+ {}
746
+ >(
747
+ createIsDecode,
748
+ /** @__PURE__ */ Namespace.is(),
749
+ /** @__PURE__ */ Namespace.protobuf.decode("createIsDecode"),
750
+ );
751
+ export { createIsDecodePure as createIsDecode };
655
752
 
656
753
  /**
657
754
  * Creates a reusable {@link assertDecode} function.
658
755
  *
659
756
  * @danger You must configure the generic argument `T`
757
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
660
758
  * @returns Nothing until you configure the generic argument `T`
661
759
  * @throws compile error
662
760
  *
663
761
  * @author Jeongho Nam - https://github.com/samchon
664
762
  */
665
- export function createAssertDecode(): never;
763
+ function createAssertDecode(
764
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
765
+ ): never;
666
766
 
667
767
  /**
668
768
  * Creates a reusable {@link assertDecode} function.
669
769
  *
670
770
  * @template T Target type
771
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
671
772
  * @returns A reusable `assertDecode` function
672
773
  *
673
774
  * @author Jeongho Nam - https://github.com/samchon
674
775
  */
675
- export function createAssertDecode<T>(): (input: Uint8Array) => Resolved<T>;
776
+ function createAssertDecode<T>(
777
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
778
+ ): (input: Uint8Array) => Resolved<T>;
676
779
 
677
780
  /**
678
781
  * @internal
679
782
  */
680
- export function createAssertDecode<T>(): (input: Uint8Array) => Resolved<T> {
783
+ function createAssertDecode<T>(): (input: Uint8Array) => Resolved<T> {
681
784
  halt("createAssertDecode");
682
785
  }
786
+ const createAssertDecodePure = /** @__PURE__ */ Object.assign<
787
+ typeof createAssertDecode,
788
+ {},
789
+ {}
790
+ >(
791
+ createAssertDecode,
792
+ /** @__PURE__ */ Namespace.assert("protobuf.createAssertDecode"),
793
+ /** @__PURE__ */ Namespace.protobuf.decode("createAssertDecode"),
794
+ );
795
+ export { createAssertDecodePure as createAssertDecode };
683
796
 
684
797
  /**
685
798
  * Creates a reusable {@link validateDecode} function.
@@ -690,7 +803,7 @@ export function createAssertDecode<T>(): (input: Uint8Array) => Resolved<T> {
690
803
  *
691
804
  * @author Jeongho Nam - https://github.com/samchon
692
805
  */
693
- export function createValidateDecode(): never;
806
+ function createValidateDecode(): never;
694
807
 
695
808
  /**
696
809
  * Creates a reusable {@link validateDecode} function.
@@ -700,18 +813,28 @@ export function createValidateDecode(): never;
700
813
  *
701
814
  * @author Jeongho Nam - https://github.com/samchon
702
815
  */
703
- export function createValidateDecode<T>(): (
816
+ function createValidateDecode<T>(): (
704
817
  input: Uint8Array,
705
818
  ) => IValidation<Resolved<T>>;
706
819
 
707
820
  /**
708
821
  * @internal
709
822
  */
710
- export function createValidateDecode<T>(): (
823
+ function createValidateDecode<T>(): (
711
824
  input: Uint8Array,
712
825
  ) => IValidation<Resolved<T>> {
713
826
  halt("createValidateDecode");
714
827
  }
828
+ const createValidateDecodePure = /** @__PURE__ */ Object.assign<
829
+ typeof createValidateDecode,
830
+ {},
831
+ {}
832
+ >(
833
+ createValidateDecode,
834
+ /** @__PURE__ */ Namespace.validate(),
835
+ /** @__PURE__ */ Namespace.protobuf.decode("createValidateDecode"),
836
+ );
837
+ export { createValidateDecodePure as createValidateDecode };
715
838
 
716
839
  /**
717
840
  * Creates a reusable {@link encode} function.
@@ -722,7 +845,7 @@ export function createValidateDecode<T>(): (
722
845
  *
723
846
  * @author Jeongho Nam - https://github.com/samchon
724
847
  */
725
- export function createEncode(): never;
848
+ function createEncode(): never;
726
849
 
727
850
  /**
728
851
  * Creates a reusable {@link encode} function.
@@ -732,14 +855,19 @@ export function createEncode(): never;
732
855
  *
733
856
  * @author Jeongho Nam - https://github.com/samchon
734
857
  */
735
- export function createEncode<T>(): (input: T) => Uint8Array;
858
+ function createEncode<T>(): (input: T) => Uint8Array;
736
859
 
737
860
  /**
738
861
  * @internal
739
862
  */
740
- export function createEncode<T>(): (input: T) => Uint8Array {
863
+ function createEncode<T>(): (input: T) => Uint8Array {
741
864
  halt("createEncode");
742
865
  }
866
+ const createEncodePure = /** @__PURE__ */ Object.assign<
867
+ typeof createEncode,
868
+ {}
869
+ >(createEncode, /** @__PURE__ */ Namespace.protobuf.encode("createEncode"));
870
+ export { createEncodePure as createEncode };
743
871
 
744
872
  /**
745
873
  * Creates a reusable {@link isEncode} function.
@@ -750,7 +878,7 @@ export function createEncode<T>(): (input: T) => Uint8Array {
750
878
  *
751
879
  * @author Jeongho Nam - https://github.com/samchon
752
880
  */
753
- export function createIsEncode(): never;
881
+ function createIsEncode(): never;
754
882
 
755
883
  /**
756
884
  * Creates a reusable {@link isEncode} function.
@@ -760,42 +888,68 @@ export function createIsEncode(): never;
760
888
  *
761
889
  * @author Jeongho Nam - https://github.com/samchon
762
890
  */
763
- export function createIsEncode<T>(): (input: T) => Uint8Array | null;
891
+ function createIsEncode<T>(): (input: T) => Uint8Array | null;
764
892
 
765
893
  /**
766
894
  * @internal
767
895
  */
768
- export function createIsEncode<T>(): (input: T) => Uint8Array | null {
896
+ function createIsEncode<T>(): (input: T) => Uint8Array | null {
769
897
  halt("createIsEncode");
770
898
  }
899
+ const createIsEncodePure = /** @__PURE__ */ Object.assign<
900
+ typeof createIsEncode,
901
+ {},
902
+ {}
903
+ >(
904
+ createIsEncode,
905
+ /** @__PURE__ */ Namespace.is(),
906
+ /** @__PURE__ */ Namespace.protobuf.encode("createIsEncode"),
907
+ );
908
+ export { createIsEncodePure as createIsEncode };
771
909
 
772
910
  /**
773
911
  * Creates a reusable {@link assertEncode} function.
774
912
  *
775
913
  * @danger You must configure the generic argument `T`
914
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
776
915
  * @returns Nothing until you configure the generic argument `T`
777
916
  * @throws compile error
778
917
  *
779
918
  * @author Jeongho Nam - https://github.com/samchon
780
919
  */
781
- export function createAssertEncode(): never;
920
+ function createAssertEncode(
921
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
922
+ ): never;
782
923
 
783
924
  /**
784
925
  * Creates a reusable {@link assertEncode} function.
785
926
  *
786
927
  * @template T Target type
928
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
787
929
  * @returns A reusable `assertEncode` function
788
930
  *
789
931
  * @author Jeongho Nam - https://github.com/samchon
790
932
  */
791
- export function createAssertEncode<T>(): (input: T) => Uint8Array;
933
+ function createAssertEncode<T>(
934
+ errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error),
935
+ ): (input: T) => Uint8Array;
792
936
 
793
937
  /**
794
938
  * @internal
795
939
  */
796
- export function createAssertEncode<T>(): (input: T) => Uint8Array {
940
+ function createAssertEncode<T>(): (input: T) => Uint8Array {
797
941
  halt("createAssertEncode");
798
942
  }
943
+ const createAssertEncodePure = /** @__PURE__ */ Object.assign<
944
+ typeof createAssertEncode,
945
+ {},
946
+ {}
947
+ >(
948
+ createAssertEncode,
949
+ /** @__PURE__ */ Namespace.assert("protobuf.createAssertEncode"),
950
+ /** @__PURE__ */ Namespace.protobuf.encode("createAssertEncode"),
951
+ );
952
+ export { createAssertEncodePure as createAssertEncode };
799
953
 
800
954
  /**
801
955
  * Creates a reusable {@link validateEncode} function.
@@ -806,7 +960,7 @@ export function createAssertEncode<T>(): (input: T) => Uint8Array {
806
960
  *
807
961
  * @author Jeongho Nam - https://github.com/samchon
808
962
  */
809
- export function createValidateEncode(): never;
963
+ function createValidateEncode(): never;
810
964
 
811
965
  /**
812
966
  * Creates a reusable {@link validateEncode} function.
@@ -816,18 +970,24 @@ export function createValidateEncode(): never;
816
970
  *
817
971
  * @author Jeongho Nam - https://github.com/samchon
818
972
  */
819
- export function createValidateEncode<T>(): (
820
- input: T,
821
- ) => IValidation<Uint8Array>;
973
+ function createValidateEncode<T>(): (input: T) => IValidation<Uint8Array>;
822
974
 
823
975
  /**
824
976
  * @internal
825
977
  */
826
- export function createValidateEncode<T>(): (
827
- input: T,
828
- ) => IValidation<Uint8Array> {
978
+ function createValidateEncode<T>(): (input: T) => IValidation<Uint8Array> {
829
979
  halt("createValidateEncode");
830
980
  }
981
+ const createValidateEncodePure = /** @__PURE__ */ Object.assign<
982
+ typeof createValidateEncode,
983
+ {},
984
+ {}
985
+ >(
986
+ createValidateEncode,
987
+ /** @__PURE__ */ Namespace.validate(),
988
+ /** @__PURE__ */ Namespace.protobuf.encode("createValidateEncode"),
989
+ );
990
+ export { createValidateEncodePure as createValidateEncode };
831
991
 
832
992
  /**
833
993
  * @internal
package/src/reflect.ts CHANGED
@@ -16,7 +16,7 @@ import { IMetadataApplication } from "./schemas/metadata/IMetadataApplication";
16
16
  *
17
17
  * @author Jeongho Nam - https://github.com/samchon
18
18
  */
19
- export function metadata(): never;
19
+ function metadata(): never;
20
20
 
21
21
  /**
22
22
  * Metadata Application.
@@ -32,15 +32,21 @@ export function metadata(): never;
32
32
  *
33
33
  * @author Jeongho Nam - https://github.com/samchon
34
34
  */
35
- export function metadata<Types extends unknown[]>(): IMetadataApplication;
35
+ function metadata<Types extends unknown[]>(): IMetadataApplication;
36
36
 
37
37
  /**
38
38
  * @internal
39
39
  */
40
- export function metadata(): never {
40
+ function metadata(): never {
41
41
  halt("metadata");
42
42
  }
43
43
 
44
+ const metadataPure = /** @__PURE__ */ Object.assign<typeof metadata, {}>(
45
+ metadata,
46
+ { from: (input: unknown) => input },
47
+ );
48
+ export { metadataPure as metadata };
49
+
44
50
  /**
45
51
  * @internal
46
52
  */
@@ -1,9 +1,16 @@
1
- import { IJsonComponents } from "./IJsonComponents";
2
- import { IJsonSchema } from "./IJsonSchema";
1
+ import type { OpenApi, OpenApiV3 } from "@samchon/openapi";
3
2
 
4
- export interface IJsonApplication {
5
- schemas: IJsonSchema[];
6
- components: IJsonComponents;
7
- purpose: "swagger" | "ajv";
8
- surplus: boolean;
3
+ export type IJsonApplication<Version extends "3.0" | "3.1" = "3.1"> =
4
+ Version extends "3.0" ? IJsonApplication.IV3_0 : IJsonApplication.IV3_1;
5
+ export namespace IJsonApplication {
6
+ export interface IV3_0 {
7
+ version: "3.0";
8
+ schemas: OpenApiV3.IJsonSchema[];
9
+ components: OpenApiV3.IComponents;
10
+ }
11
+ export interface IV3_1 {
12
+ version: "3.1";
13
+ components: OpenApi.IComponents;
14
+ schemas: OpenApi.IJsonSchema[];
15
+ }
9
16
  }
@@ -1,5 +1,7 @@
1
1
  import { Atomic } from "../../typings/Atomic";
2
2
 
3
+ import { IMetadataConstantValue } from "./IMetadataConstantValue";
4
+
3
5
  export type IMetadataConstant =
4
6
  | IMetadataConstant.IBase<"boolean", boolean>
5
7
  | IMetadataConstant.IBase<"number", number>
@@ -11,6 +13,6 @@ export namespace IMetadataConstant {
11
13
  Value extends Atomic.Type,
12
14
  > {
13
15
  type: Type;
14
- values: Value[];
16
+ values: IMetadataConstantValue<Value>[];
15
17
  }
16
18
  }
@@ -0,0 +1,8 @@
1
+ import { Atomic } from "../../typings/Atomic";
2
+
3
+ import { IMetadataTypeTag } from "./IMetadataTypeTag";
4
+
5
+ export interface IMetadataConstantValue<T extends Atomic.Type> {
6
+ value: T;
7
+ tags: IMetadataTypeTag[][] | undefined;
8
+ }
@@ -7,6 +7,7 @@ export interface IMetadataTypeTag {
7
7
  exclusive: boolean | string[];
8
8
  value?: any;
9
9
  validate?: string | undefined;
10
+ schema?: object | undefined;
10
11
 
11
12
  /**
12
13
  * @internal