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/lib/misc.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { Atomic } from "./typings/Atomic";
2
2
  import { IValidation } from "./IValidation";
3
3
  import { Resolved } from "./Resolved";
4
+ import { TypeGuardError } from "./TypeGuardError";
4
5
  /**
5
6
  * > You must configure the generic argument `T`.
6
7
  *
@@ -51,7 +52,9 @@ export declare function literals<T extends Atomic.Type | null>(): T[];
51
52
  *
52
53
  * @author Jeongho Nam - https://github.com/samchon
53
54
  */
54
- export declare function clone<T>(input: T): Resolved<T>;
55
+ declare function clone<T>(input: T): Resolved<T>;
56
+ declare const clonePure: typeof clone;
57
+ export { clonePure as clone };
55
58
  /**
56
59
  * Clone a data with type assertion.
57
60
  *
@@ -60,16 +63,17 @@ export declare function clone<T>(input: T): Resolved<T>;
60
63
  * methods would not be cloned.
61
64
  *
62
65
  * In such reason, when `input` value is not matched with the type `T`, it throws an
63
- * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, cloned
64
- * data would be returned.
66
+ * {@link TypeGuardError} or custom error generated by *errorFactory*. Otherwise,
67
+ * there's no problem on the `input` value, cloned data would be returned.
65
68
  *
66
69
  * @template T Type of the input value
67
70
  * @param input A value to be cloned
71
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
68
72
  * @return Cloned data
69
73
  *
70
74
  * @author Jeongho Nam - https://github.com/samchon
71
75
  */
72
- export declare function assertClone<T>(input: T): Resolved<T>;
76
+ declare function assertClone<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;
73
77
  /**
74
78
  * Clone a data with type assertion.
75
79
  *
@@ -78,16 +82,19 @@ export declare function assertClone<T>(input: T): Resolved<T>;
78
82
  * methods would not be cloned.
79
83
  *
80
84
  * In such reason, when `input` value is not matched with the type `T`, it throws an
81
- * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, cloned
82
- * data would be returned.
85
+ * {@link TypeGuardError} or custom error generated by *errorFactory*. Otherwise,
86
+ * there's no problem on the `input` value, cloned data would be returned.
83
87
  *
84
88
  * @template T Type of the input value
85
89
  * @param input A value to be cloned
90
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
86
91
  * @return Cloned data
87
92
  *
88
93
  * @author Jeongho Nam - https://github.com/samchon
89
94
  */
90
- export declare function assertClone<T>(input: unknown): Resolved<T>;
95
+ declare function assertClone<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;
96
+ declare const assertClonePure: typeof assertClone;
97
+ export { assertClonePure as assertClone };
91
98
  /**
92
99
  * Clone a data with type checking.
93
100
  *
@@ -105,7 +112,7 @@ export declare function assertClone<T>(input: unknown): Resolved<T>;
105
112
  *
106
113
  * @author Jeongho Nam - https://github.com/samchon
107
114
  */
108
- export declare function isClone<T>(input: T): Resolved<T> | null;
115
+ declare function isClone<T>(input: T): Resolved<T> | null;
109
116
  /**
110
117
  * Clone a data with type checking.
111
118
  *
@@ -123,7 +130,9 @@ export declare function isClone<T>(input: T): Resolved<T> | null;
123
130
  *
124
131
  * @author Jeongho Nam - https://github.com/samchon
125
132
  */
126
- export declare function isClone<T>(input: unknown): Resolved<T> | null;
133
+ declare function isClone<T>(input: unknown): Resolved<T> | null;
134
+ declare const isClonePure: typeof isClone;
135
+ export { isClonePure as isClone };
127
136
  /**
128
137
  * Clone a data with detailed type validation.
129
138
  *
@@ -140,7 +149,7 @@ export declare function isClone<T>(input: unknown): Resolved<T> | null;
140
149
  * @param input A value to be cloned
141
150
  * @returns Validation result with cloned value
142
151
  */
143
- export declare function validateClone<T>(input: T): IValidation<Resolved<T>>;
152
+ declare function validateClone<T>(input: T): IValidation<Resolved<T>>;
144
153
  /**
145
154
  * Clone a data with detailed type validation.
146
155
  *
@@ -157,7 +166,9 @@ export declare function validateClone<T>(input: T): IValidation<Resolved<T>>;
157
166
  * @param input A value to be cloned
158
167
  * @returns Validation result with cloned value
159
168
  */
160
- export declare function validateClone<T>(input: unknown): IValidation<Resolved<T>>;
169
+ declare function validateClone<T>(input: unknown): IValidation<Resolved<T>>;
170
+ declare const validateClonePure: typeof validateClone;
171
+ export { validateClonePure as validateClone };
161
172
  /**
162
173
  * Prune, erase superfluous properties.
163
174
  *
@@ -179,7 +190,9 @@ export declare function validateClone<T>(input: unknown): IValidation<Resolved<T
179
190
  *
180
191
  * @author Jeongho Nam - https://github.com/samchon
181
192
  */
182
- export declare function prune<T extends object>(input: T): void;
193
+ declare function prune<T extends object>(input: T): void;
194
+ declare const prunePure: typeof prune;
195
+ export { prunePure as prune };
183
196
  /**
184
197
  * Prune, erase superfluous properties, with type assertion.
185
198
  *
@@ -188,15 +201,17 @@ export declare function prune<T extends object>(input: T): void;
188
201
  * object including nested objects, with type assertion.
189
202
  *
190
203
  * In such reason, when `input` value is not matched with the type `T`, it throws an
191
- * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, its
192
- * every superfluous properties would be removed, including nested objects.
204
+ * {@link TypeGuardError} or custom error generated by *errorFactory*. Otherwise,
205
+ * there's no problem on the `input` value, its every superfluous properties would be
206
+ * removed, including nested objects.
193
207
  *
194
208
  * @template T Type of the input value
195
209
  * @param input Target instance to assert and prune
210
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
196
211
  *
197
212
  * @author Jeongho Nam - https://github.com/samchon
198
213
  */
199
- export declare function assertPrune<T>(input: T): T;
214
+ declare function assertPrune<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;
200
215
  /**
201
216
  * Prune, erase superfluous properties, with type assertion.
202
217
  *
@@ -205,15 +220,19 @@ export declare function assertPrune<T>(input: T): T;
205
220
  * object including nested objects, with type assertion.
206
221
  *
207
222
  * In such reason, when `input` value is not matched with the type `T`, it throws an
208
- * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value, its
209
- * every superfluous properties would be removed, including nested objects.
223
+ * {@link TypeGuardError} or custom error generated by *errorFactory*. Otherwise, there's
224
+ * no problem on the `input` value, its every superfluous properties would be removed,
225
+ * including nested objects.
210
226
  *
211
227
  * @template T Type of the input value
212
228
  * @param input Target instance to assert and prune
229
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
213
230
  *
214
231
  * @author Jeongho Nam - https://github.com/samchon
215
232
  */
216
- export declare function assertPrune<T>(input: unknown): T;
233
+ declare function assertPrune<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;
234
+ declare const assertPrunePure: typeof assertPrune;
235
+ export { assertPrunePure as assertPrune };
217
236
  /**
218
237
  * Prune, erase superfluous properties, with type checking.
219
238
  *
@@ -231,7 +250,7 @@ export declare function assertPrune<T>(input: unknown): T;
231
250
  *
232
251
  * @author Jeongho Nam - https://github.com/samchon
233
252
  */
234
- export declare function isPrune<T>(input: T): input is T;
253
+ declare function isPrune<T>(input: T): input is T;
235
254
  /**
236
255
  * Prune, erase superfluous properties, with type checking.
237
256
  *
@@ -249,7 +268,9 @@ export declare function isPrune<T>(input: T): input is T;
249
268
  *
250
269
  * @author Jeongho Nam - https://github.com/samchon
251
270
  */
252
- export declare function isPrune<T>(input: unknown): input is T;
271
+ declare function isPrune<T>(input: unknown): input is T;
272
+ declare const isPrunePure: typeof isPrune;
273
+ export { isPrunePure as isPrune };
253
274
  /**
254
275
  * Prune, erase superfluous properties, with type validation.
255
276
  *
@@ -268,7 +289,7 @@ export declare function isPrune<T>(input: unknown): input is T;
268
289
  *
269
290
  * @author Jeongho Nam - https://github.com/samchon
270
291
  */
271
- export declare function validatePrune<T>(input: T): IValidation<T>;
292
+ declare function validatePrune<T>(input: T): IValidation<T>;
272
293
  /**
273
294
  * Prune, erase superfluous properties, with type validation.
274
295
  *
@@ -287,7 +308,9 @@ export declare function validatePrune<T>(input: T): IValidation<T>;
287
308
  *
288
309
  * @author Jeongho Nam - https://github.com/samchon
289
310
  */
290
- export declare function validatePrune<T>(input: unknown): IValidation<T>;
311
+ declare function validatePrune<T>(input: unknown): IValidation<T>;
312
+ declare const validatePrunePure: typeof validatePrune;
313
+ export { validatePrunePure as validatePrune };
291
314
  /**
292
315
  * Creates a reusable {@link clone} function.
293
316
  *
@@ -297,7 +320,7 @@ export declare function validatePrune<T>(input: unknown): IValidation<T>;
297
320
  *
298
321
  * @author Jeongho Nam - https://github.com/samchon
299
322
  */
300
- export declare function createClone(): never;
323
+ declare function createClone(): never;
301
324
  /**
302
325
  * Creates a resuable {@link clone} function.
303
326
  *
@@ -306,26 +329,32 @@ export declare function createClone(): never;
306
329
  *
307
330
  * @author Jeongho Nam - https://github.com/samchon
308
331
  */
309
- export declare function createClone<T>(): (input: T) => Resolved<T>;
332
+ declare function createClone<T>(): (input: T) => Resolved<T>;
333
+ declare const createClonePure: typeof createClone;
334
+ export { createClonePure as createClone };
310
335
  /**
311
336
  * Creates a reusable {@link assertClone} function.
312
337
  *
313
338
  * @danger You must configure the generic argument `T`
339
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
314
340
  * @returns Nothing until you configure the generic argument `T`
315
341
  * @throws compile error
316
342
  *
317
343
  * @author Jeongho Nam - https://github.com/samchon
318
344
  */
319
- export declare function createAssertClone(): never;
345
+ declare function createAssertClone(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;
320
346
  /**
321
347
  * Creates a resuable {@link assertClone} function.
322
348
  *
323
349
  * @template T Type of the input value
350
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
324
351
  * @returns A reusable `clone` function
325
352
  *
326
353
  * @author Jeongho Nam - https://github.com/samchon
327
354
  */
328
- export declare function createAssertClone<T>(): (input: unknown) => Resolved<T>;
355
+ declare function createAssertClone<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => Resolved<T>;
356
+ declare const createAssertClonePure: typeof createAssertClone;
357
+ export { createAssertClonePure as createAssertClone };
329
358
  /**
330
359
  * Creates a reusable {@link isClone} function.
331
360
  *
@@ -335,7 +364,7 @@ export declare function createAssertClone<T>(): (input: unknown) => Resolved<T>;
335
364
  *
336
365
  * @author Jeongho Nam - https://github.com/samchon
337
366
  */
338
- export declare function createIsClone(): never;
367
+ declare function createIsClone(): never;
339
368
  /**
340
369
  * Creates a resuable {@link isClone} function.
341
370
  *
@@ -344,7 +373,9 @@ export declare function createIsClone(): never;
344
373
  *
345
374
  * @author Jeongho Nam - https://github.com/samchon
346
375
  */
347
- export declare function createIsClone<T>(): (input: unknown) => Resolved<T> | null;
376
+ declare function createIsClone<T>(): (input: unknown) => Resolved<T> | null;
377
+ declare const createIsClonePure: typeof createIsClone;
378
+ export { createIsClonePure as createIsClone };
348
379
  /**
349
380
  * Creates a reusable {@link validateClone} function.
350
381
  *
@@ -354,7 +385,7 @@ export declare function createIsClone<T>(): (input: unknown) => Resolved<T> | nu
354
385
  *
355
386
  * @author Jeongho Nam - https://github.com/samchon
356
387
  */
357
- export declare function createValidateClone(): never;
388
+ declare function createValidateClone(): never;
358
389
  /**
359
390
  * Creates a resuable {@link validateClone} function.
360
391
  *
@@ -363,7 +394,9 @@ export declare function createValidateClone(): never;
363
394
  *
364
395
  * @author Jeongho Nam - https://github.com/samchon
365
396
  */
366
- export declare function createValidateClone<T>(): (input: unknown) => IValidation<Resolved<T>>;
397
+ declare function createValidateClone<T>(): (input: unknown) => IValidation<Resolved<T>>;
398
+ declare const createValidateClonePure: typeof createValidateClone;
399
+ export { createValidateClonePure as createValidateClone };
367
400
  /**
368
401
  * Creates a reusable {@link prune} function.
369
402
  *
@@ -373,7 +406,7 @@ export declare function createValidateClone<T>(): (input: unknown) => IValidatio
373
406
  *
374
407
  * @author Jeongho Nam - https://github.com/samchon
375
408
  */
376
- export declare function createPrune(): never;
409
+ declare function createPrune(): never;
377
410
  /**
378
411
  * Creates a resuable {@link prune} function.
379
412
  *
@@ -382,26 +415,32 @@ export declare function createPrune(): never;
382
415
  *
383
416
  * @author Jeongho Nam - https://github.com/samchon
384
417
  */
385
- export declare function createPrune<T extends object>(): (input: T) => void;
418
+ declare function createPrune<T extends object>(): (input: T) => void;
419
+ declare const createPrunePure: typeof createPrune;
420
+ export { createPrunePure as createPrune };
386
421
  /**
387
422
  * Creates a reusable {@link assertPrune} function.
388
423
  *
389
424
  * @danger You must configure the generic argument `T`
425
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
390
426
  * @returns Nothing until you configure the generic argument `T`
391
427
  * @throws compile error
392
428
  *
393
429
  * @author Jeongho Nam - https://github.com/samchon
394
430
  */
395
- export declare function createAssertPrune(): never;
431
+ declare function createAssertPrune(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;
396
432
  /**
397
433
  * Creates a resuable {@link assertPrune} function.
398
434
  *
399
435
  * @template T Type of the input value
436
+ * @param errorFactory Custom error factory. Default is `TypeGuardError`
400
437
  * @returns A reusable `isPrune` function
401
438
  *
402
439
  * @author Jeongho Nam - https://github.com/samchon
403
440
  */
404
- export declare function createAssertPrune<T extends object>(): (input: T) => T;
441
+ declare function createAssertPrune<T extends object>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: T) => T;
442
+ declare const createAssertPrunePure: typeof createAssertPrune;
443
+ export { createAssertPrunePure as createAssertPrune };
405
444
  /**
406
445
  * Creates a reusable {@link isPrune} function.
407
446
  *
@@ -411,7 +450,7 @@ export declare function createAssertPrune<T extends object>(): (input: T) => T;
411
450
  *
412
451
  * @author Jeongho Nam - https://github.com/samchon
413
452
  */
414
- export declare function createIsPrune(): never;
453
+ declare function createIsPrune(): never;
415
454
  /**
416
455
  * Creates a resuable {@link isPrune} function.
417
456
  *
@@ -420,7 +459,9 @@ export declare function createIsPrune(): never;
420
459
  *
421
460
  * @author Jeongho Nam - https://github.com/samchon
422
461
  */
423
- export declare function createIsPrune<T extends object>(): (input: T) => input is T;
462
+ declare function createIsPrune<T extends object>(): (input: T) => input is T;
463
+ declare const createIsPrunePure: typeof createIsPrune;
464
+ export { createIsPrunePure as createIsPrune };
424
465
  /**
425
466
  * Creates a reusable {@link validatePrune} function.
426
467
  *
@@ -430,7 +471,7 @@ export declare function createIsPrune<T extends object>(): (input: T) => input i
430
471
  *
431
472
  * @author Jeongho Nam - https://github.com/samchon
432
473
  */
433
- export declare function createValidatePrune(): never;
474
+ declare function createValidatePrune(): never;
434
475
  /**
435
476
  * Creates a resuable {@link validatePrune} function.
436
477
  *
@@ -439,4 +480,6 @@ export declare function createValidatePrune(): never;
439
480
  *
440
481
  * @author Jeongho Nam - https://github.com/samchon
441
482
  */
442
- export declare function createValidatePrune<T extends object>(): (input: T) => IValidation<T>;
483
+ declare function createValidatePrune<T extends object>(): (input: T) => IValidation<T>;
484
+ declare const createValidatePrunePure: typeof createValidatePrune;
485
+ export { createValidatePrunePure as createValidatePrune };
package/lib/misc.js CHANGED
@@ -1,74 +1,191 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
26
  exports.createValidatePrune = exports.createIsPrune = exports.createAssertPrune = exports.createPrune = exports.createValidateClone = exports.createIsClone = exports.createAssertClone = exports.createClone = exports.validatePrune = exports.isPrune = exports.assertPrune = exports.prune = exports.validateClone = exports.isClone = exports.assertClone = exports.clone = exports.literals = void 0;
27
+ /* ===========================================================
28
+ MISCELLAENOUS
29
+ - LITERALS
30
+ - CLONE
31
+ - PRUNE
32
+ - FACTORY FUNCTIONS
33
+ ==============================================================
34
+ LITERALS
35
+ ----------------------------------------------------------- */
36
+ var Namespace = __importStar(require("./functional/Namespace"));
37
+ /**
38
+ * @internal
39
+ */
4
40
  function literals() {
5
41
  halt("literals");
6
42
  }
7
43
  exports.literals = literals;
44
+ /**
45
+ * @internal
46
+ */
8
47
  function clone() {
9
48
  halt("clone");
10
49
  }
11
- exports.clone = clone;
50
+ var clonePure = /** @__PURE__ */ Object.assign(clone,
51
+ /** @__PURE__ */ Namespace.misc.clone("clone"));
52
+ exports.clone = clonePure;
53
+ /**
54
+ * @internal
55
+ */
12
56
  function assertClone() {
13
57
  halt("assertClone");
14
58
  }
15
- exports.assertClone = assertClone;
59
+ var assertClonePure = /** @__PURE__ */ Object.assign(assertClone,
60
+ /** @__PURE__ */ Namespace.assert("misc.assertClone"),
61
+ /** @__PURE__ */ Namespace.misc.clone("assertClone"));
62
+ exports.assertClone = assertClonePure;
63
+ /**
64
+ * @internal
65
+ */
16
66
  function isClone() {
17
67
  halt("isClone");
18
68
  }
19
- exports.isClone = isClone;
69
+ var isClonePure = /** @__PURE__ */ Object.assign(isClone,
70
+ /** @__PURE__ */ Namespace.is(),
71
+ /** @__PURE__ */ Namespace.misc.clone("isClone"));
72
+ exports.isClone = isClonePure;
73
+ /**
74
+ * @internal
75
+ */
20
76
  function validateClone() {
21
77
  halt("validateClone");
22
78
  }
23
- exports.validateClone = validateClone;
79
+ var validateClonePure = /** @__PURE__ */ Object.assign(validateClone,
80
+ /** @__PURE__ */ Namespace.validate(),
81
+ /** @__PURE__ */ Namespace.misc.clone("validateClone"));
82
+ exports.validateClone = validateClonePure;
83
+ /**
84
+ * @internal
85
+ */
24
86
  function prune() {
25
87
  halt("prune");
26
88
  }
27
- exports.prune = prune;
89
+ var prunePure = /** @__PURE__ */ Object.assign(prune,
90
+ /** @__PURE__ */ Namespace.misc.prune("prune"));
91
+ exports.prune = prunePure;
92
+ /**
93
+ * @internal
94
+ */
28
95
  function assertPrune() {
29
96
  halt("assertPrune");
30
97
  }
31
- exports.assertPrune = assertPrune;
98
+ var assertPrunePure = /** @__PURE__ */ Object.assign(assertPrune,
99
+ /** @__PURE__ */ Namespace.assert("misc.assertPrune"),
100
+ /** @__PURE__ */ Namespace.misc.prune("assertPrune"));
101
+ exports.assertPrune = assertPrunePure;
102
+ /**
103
+ * @internal
104
+ */
32
105
  function isPrune() {
33
106
  halt("isPrune");
34
107
  }
35
- exports.isPrune = isPrune;
108
+ var isPrunePure = /** @__PURE__ */ Object.assign(isPrune,
109
+ /** @__PURE__ */ Namespace.is(),
110
+ /** @__PURE__ */ Namespace.misc.prune("isPrune"));
111
+ exports.isPrune = isPrunePure;
112
+ /**
113
+ * @internal
114
+ */
36
115
  function validatePrune() {
37
116
  halt("validatePrune");
38
117
  }
39
- exports.validatePrune = validatePrune;
118
+ var validatePrunePure = /** @__PURE__ */ Object.assign(validatePrune,
119
+ /** @__PURE__ */ Namespace.misc.prune("validatePrune"),
120
+ /** @__PURE__ */ Namespace.validate());
121
+ exports.validatePrune = validatePrunePure;
122
+ /**
123
+ * @internal
124
+ */
40
125
  function createClone() {
41
126
  halt("createClone");
42
127
  }
43
- exports.createClone = createClone;
128
+ var createClonePure = /** @__PURE__ */ Object.assign(createClone, clonePure);
129
+ exports.createClone = createClonePure;
130
+ /**
131
+ * @internal
132
+ */
44
133
  function createAssertClone() {
45
134
  halt("createAssertClone");
46
135
  }
47
- exports.createAssertClone = createAssertClone;
136
+ var createAssertClonePure = /** @__PURE__ */ Object.assign(createAssertClone, assertClonePure);
137
+ exports.createAssertClone = createAssertClonePure;
138
+ /**
139
+ * @internal
140
+ */
48
141
  function createIsClone() {
49
142
  halt("createIsClone");
50
143
  }
51
- exports.createIsClone = createIsClone;
144
+ var createIsClonePure = /** @__PURE__ */ Object.assign(createIsClone, isClonePure);
145
+ exports.createIsClone = createIsClonePure;
146
+ /**
147
+ * @internal
148
+ */
52
149
  function createValidateClone() {
53
150
  halt("createValidateClone");
54
151
  }
55
- exports.createValidateClone = createValidateClone;
152
+ var createValidateClonePure = /** @__PURE__ */ Object.assign(createValidateClone, validateClonePure);
153
+ exports.createValidateClone = createValidateClonePure;
154
+ /**
155
+ * @internal
156
+ */
56
157
  function createPrune() {
57
158
  halt("createPrune");
58
159
  }
59
- exports.createPrune = createPrune;
160
+ var createPrunePure = /** @__PURE__ */ Object.assign(createPrune, prunePure);
161
+ exports.createPrune = createPrunePure;
162
+ /**
163
+ * @internal
164
+ */
60
165
  function createAssertPrune() {
61
166
  halt("createAssertPrune");
62
167
  }
63
- exports.createAssertPrune = createAssertPrune;
168
+ var createAssertPrunePure = /** @__PURE__ */ Object.assign(createAssertPrune, assertPrunePure);
169
+ exports.createAssertPrune = createAssertPrunePure;
170
+ /**
171
+ * @internal
172
+ */
64
173
  function createIsPrune() {
65
174
  halt("createIsPrune");
66
175
  }
67
- exports.createIsPrune = createIsPrune;
176
+ var createIsPrunePure = /** @__PURE__ */ Object.assign(createIsPrune, isPrunePure);
177
+ exports.createIsPrune = createIsPrunePure;
178
+ /**
179
+ * @internal
180
+ */
68
181
  function createValidatePrune() {
69
182
  halt("createValidatePrune");
70
183
  }
71
- exports.createValidatePrune = createValidatePrune;
184
+ var createValidatePrunePure = /** @__PURE__ */ Object.assign(createValidatePrune, validatePrunePure);
185
+ exports.createValidatePrune = createValidatePrunePure;
186
+ /**
187
+ * @internal
188
+ */
72
189
  function halt(name) {
73
190
  throw new Error("Error on typia.misc.".concat(name, "(): no transform has been configured. Read and follow https://typia.io/docs/setup please."));
74
191
  }
package/lib/misc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":";;;AAmDA,SAAgB,QAAQ;IACtB,IAAI,CAAC,UAAU,CAAC,CAAC;AACnB,CAAC;AAFD,4BAEC;AA4BD,SAAgB,KAAK;IACnB,IAAI,CAAC,OAAO,CAAC,CAAC;AAChB,CAAC;AAFD,sBAEC;AA2CD,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAFD,kCAEC;AA2CD,SAAgB,OAAO;IACrB,IAAI,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC;AAFD,0BAEC;AAyCD,SAAgB,aAAa;IAC3B,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AAFD,sCAEC;AA+BD,SAAgB,KAAK;IACnB,IAAI,CAAC,OAAO,CAAC,CAAC;AAChB,CAAC;AAFD,sBAEC;AAyCD,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAFD,kCAEC;AA2CD,SAAgB,OAAO;IACrB,IAAI,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC;AAFD,0BAEC;AA6CD,SAAgB,aAAa;IAC3B,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AAFD,sCAEC;AA6BD,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAFD,kCAEC;AA0BD,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AAFD,8CAEC;AA0BD,SAAgB,aAAa;IAC3B,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AAFD,sCAEC;AA4BD,SAAgB,mBAAmB;IACjC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC9B,CAAC;AAFD,kDAEC;AA0BD,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAFD,kCAEC;AA0BD,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AAFD,8CAEC;AA0BD,SAAgB,aAAa;IAC3B,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AAFD,sCAEC;AA4BD,SAAgB,mBAAmB;IAGjC,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC9B,CAAC;AAJD,kDAIC;AAKD,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,8BAAuB,IAAI,8FAA2F,CACvH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../src/misc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;8DAQ8D;AAC9D,gEAAoD;AA0CpD;;GAEG;AACH,SAAgB,QAAQ;IACtB,IAAI,CAAC,UAAU,CAAC,CAAC;AACnB,CAAC;AAFD,4BAEC;AAyBD;;GAEG;AACH,SAAS,KAAK;IACZ,IAAI,CAAC,OAAO,CAAC,CAAC;AAChB,CAAC;AACD,IAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAC9C,KAAK;AACL,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAC/C,CAAC;AACoB,0BAAK;AAgD3B;;GAEG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AACD,IAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAKpD,WAAW;AACX,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;AACrD,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CACrD,CAAC;AAC0B,sCAAW;AAwCvC;;GAEG;AACH,SAAS,OAAO;IACd,IAAI,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC;AACD,IAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAChD,OAAO;AACP,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE;AAC/B,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CACjD,CAAC;AACsB,8BAAO;AAsC/B;;GAEG;AACH,SAAS,aAAa;IACpB,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AACD,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAKtD,aAAa;AACb,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE;AACrC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CACvD,CAAC;AAC4B,0CAAa;AA4B3C;;GAEG;AACH,SAAS,KAAK;IACZ,IAAI,CAAC,OAAO,CAAC,CAAC;AAChB,CAAC;AACD,IAAM,SAAS,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAC9C,KAAK;AACL,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAC/C,CAAC;AACoB,0BAAK;AAgD3B;;GAEG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AACD,IAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAKpD,WAAW;AACX,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,kBAAkB,CAAC;AACrD,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CACrD,CAAC;AAC0B,sCAAW;AAwCvC;;GAEG;AACH,SAAS,OAAO;IACd,IAAI,CAAC,SAAS,CAAC,CAAC;AAClB,CAAC;AACD,IAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAChD,OAAO;AACP,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAAE;AAC/B,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CACjD,CAAC;AACsB,8BAAO;AA0C/B;;GAEG;AACH,SAAS,aAAa;IACpB,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AAED,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAKtD,aAAa;AACb,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;AACtD,gBAAgB,CAAC,SAAS,CAAC,QAAQ,EAAE,CACtC,CAAC;AAC4B,0CAAa;AA0B3C;;GAEG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AACD,IAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CACpD,WAAW,EACX,SAAS,CACV,CAAC;AAC0B,sCAAW;AA6BvC;;GAEG;AACH,SAAS,iBAAiB;IACxB,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AACD,IAAM,qBAAqB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAG1D,iBAAiB,EAAE,eAAe,CAAC,CAAC;AACJ,kDAAiB;AAuBnD;;GAEG;AACH,SAAS,aAAa;IACpB,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AACD,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAGtD,aAAa,EAAE,WAAW,CAAC,CAAC;AACA,0CAAa;AAuB3C;;GAEG;AACH,SAAS,mBAAmB;IAC1B,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC9B,CAAC;AACD,IAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAG5D,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AACN,sDAAmB;AAuBvD;;GAEG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AACD,IAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CACpD,WAAW,EACX,SAAS,CACV,CAAC;AAC0B,sCAAW;AA6BvC;;GAEG;AACH,SAAS,iBAAiB;IACxB,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AACD,IAAM,qBAAqB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAG1D,iBAAiB,EAAE,eAAe,CAAC,CAAC;AACJ,kDAAiB;AAuBnD;;GAEG;AACH,SAAS,aAAa;IACpB,IAAI,CAAC,eAAe,CAAC,CAAC;AACxB,CAAC;AACD,IAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAGtD,aAAa,EAAE,WAAW,CAAC,CAAC;AACA,0CAAa;AAuB3C;;GAEG;AACH,SAAS,mBAAmB;IAC1B,IAAI,CAAC,qBAAqB,CAAC,CAAC;AAC9B,CAAC;AACD,IAAM,uBAAuB,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAG5D,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AACN,sDAAmB;AAEvD;;GAEG;AACH,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,8BAAuB,IAAI,8FAA2F,CACvH,CAAC;AACJ,CAAC"}