typia 7.6.0 → 7.7.0-dev.20250130

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 (540) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +149 -149
  3. package/lib/TypeGuardError.mjs +26 -0
  4. package/lib/TypeGuardError.mjs.map +1 -0
  5. package/lib/executable/setup/PluginConfigurator.js +3 -3
  6. package/lib/executable/typia.js +15 -15
  7. package/lib/functional.mjs +120 -0
  8. package/lib/functional.mjs.map +1 -0
  9. package/lib/http.d.ts +15 -15
  10. package/lib/http.mjs +165 -0
  11. package/lib/http.mjs.map +1 -0
  12. package/lib/index.mjs +27 -1142
  13. package/lib/index.mjs.map +1 -1
  14. package/lib/json.mjs +105 -0
  15. package/lib/json.mjs.map +1 -0
  16. package/lib/llm.mjs +33 -0
  17. package/lib/llm.mjs.map +1 -0
  18. package/lib/misc.mjs +111 -0
  19. package/lib/misc.mjs.map +1 -0
  20. package/lib/module.d.ts +4 -4
  21. package/lib/module.mjs +139 -0
  22. package/lib/module.mjs.map +1 -0
  23. package/lib/notations.mjs +153 -0
  24. package/lib/notations.mjs.map +1 -0
  25. package/lib/protobuf.d.ts +9 -9
  26. package/lib/protobuf.mjs +111 -0
  27. package/lib/protobuf.mjs.map +1 -0
  28. package/lib/reflect.mjs +18 -0
  29. package/lib/reflect.mjs.map +1 -0
  30. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs +6 -0
  31. package/lib/schemas/llm/ILlmApplicationOfValidate.mjs.map +1 -0
  32. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs +6 -0
  33. package/lib/schemas/llm/ILlmFunctionOfValidate.mjs.map +1 -0
  34. package/lib/tags/TagBase.d.ts +1 -1
  35. package/lib/tags/index.mjs +2 -0
  36. package/lib/tags/index.mjs.map +1 -0
  37. package/package.json +9 -8
  38. package/src/AssertionGuard.ts +1 -1
  39. package/src/CamelCase.ts +75 -75
  40. package/src/IRandomGenerator.ts +49 -49
  41. package/src/IReadableURLSearchParams.ts +9 -9
  42. package/src/IValidation.ts +21 -21
  43. package/src/PascalCase.ts +71 -71
  44. package/src/Primitive.ts +92 -92
  45. package/src/Resolved.ts +74 -74
  46. package/src/SnakeCase.ts +126 -126
  47. package/src/TypeGuardError.ts +37 -37
  48. package/src/executable/TypiaGenerateWizard.ts +83 -83
  49. package/src/executable/TypiaPatchWizard.ts +45 -45
  50. package/src/executable/TypiaSetupWizard.ts +179 -179
  51. package/src/executable/setup/ArgumentParser.ts +42 -42
  52. package/src/executable/setup/CommandExecutor.ts +8 -8
  53. package/src/executable/setup/FileRetriever.ts +19 -19
  54. package/src/executable/setup/PackageManager.ts +87 -87
  55. package/src/executable/setup/PluginConfigurator.ts +69 -69
  56. package/src/executable/typia.ts +55 -55
  57. package/src/factories/CommentFactory.ts +79 -79
  58. package/src/factories/ExpressionFactory.ts +216 -216
  59. package/src/factories/IdentifierFactory.ts +89 -89
  60. package/src/factories/JsonMetadataFactory.ts +83 -83
  61. package/src/factories/LiteralFactory.ts +52 -52
  62. package/src/factories/MetadataCollection.ts +278 -278
  63. package/src/factories/MetadataCommentTagFactory.ts +650 -650
  64. package/src/factories/MetadataFactory.ts +404 -404
  65. package/src/factories/MetadataTypeTagFactory.ts +411 -411
  66. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  67. package/src/factories/NumericRangeFactory.ts +72 -72
  68. package/src/factories/ProtobufFactory.ts +875 -875
  69. package/src/factories/StatementFactory.ts +90 -90
  70. package/src/factories/TemplateFactory.ts +64 -64
  71. package/src/factories/TypeFactory.ts +140 -140
  72. package/src/factories/ValueFactory.ts +12 -12
  73. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  74. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  75. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  76. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  77. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  78. package/src/factories/internal/metadata/emplace_metadata_object.ts +208 -208
  79. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  80. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  81. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  82. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  83. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  84. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  85. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  86. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  87. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  88. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  89. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  90. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  91. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +213 -213
  92. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  93. package/src/factories/internal/metadata/iterate_metadata_native.ts +255 -255
  94. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  95. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  96. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  97. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  98. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  99. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  100. package/src/functional.ts +750 -750
  101. package/src/http.ts +1047 -1047
  102. package/src/index.ts +4 -4
  103. package/src/internal/_IProtobufWriter.ts +18 -18
  104. package/src/internal/_ProtobufReader.ts +194 -194
  105. package/src/internal/_ProtobufSizer.ts +145 -145
  106. package/src/internal/_ProtobufWriter.ts +145 -145
  107. package/src/internal/_accessExpressionAsString.ts +46 -46
  108. package/src/internal/_assertGuard.ts +13 -13
  109. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  110. package/src/internal/_httpFormDataReadArray.ts +4 -4
  111. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  112. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  113. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  114. package/src/internal/_httpFormDataReadFile.ts +10 -10
  115. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  116. package/src/internal/_httpFormDataReadString.ts +10 -10
  117. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  118. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  119. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  120. package/src/internal/_httpParameterReadBigint.ts +10 -10
  121. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  122. package/src/internal/_httpParameterReadNumber.ts +7 -7
  123. package/src/internal/_httpParameterReadString.ts +2 -2
  124. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  125. package/src/internal/_httpQueryReadArray.ts +4 -4
  126. package/src/internal/_httpQueryReadBigint.ts +12 -12
  127. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  128. package/src/internal/_httpQueryReadNumber.ts +9 -9
  129. package/src/internal/_httpQueryReadString.ts +4 -4
  130. package/src/internal/_isBetween.ts +2 -2
  131. package/src/internal/_isBigintString.ts +8 -8
  132. package/src/internal/_isFormatByte.ts +7 -7
  133. package/src/internal/_isFormatDate.ts +3 -3
  134. package/src/internal/_isFormatDateTime.ts +4 -4
  135. package/src/internal/_isFormatDuration.ts +4 -4
  136. package/src/internal/_isFormatEmail.ts +4 -4
  137. package/src/internal/_isFormatHostname.ts +4 -4
  138. package/src/internal/_isFormatIdnEmail.ts +4 -4
  139. package/src/internal/_isFormatIdnHostname.ts +4 -4
  140. package/src/internal/_isFormatIpv4.ts +4 -4
  141. package/src/internal/_isFormatIpv6.ts +4 -4
  142. package/src/internal/_isFormatIri.ts +3 -3
  143. package/src/internal/_isFormatIriReference.ts +4 -4
  144. package/src/internal/_isFormatJsonPointer.ts +3 -3
  145. package/src/internal/_isFormatPassword.ts +1 -1
  146. package/src/internal/_isFormatRegex.ts +8 -8
  147. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  148. package/src/internal/_isFormatTime.ts +4 -4
  149. package/src/internal/_isFormatUri.ts +6 -6
  150. package/src/internal/_isFormatUriReference.ts +5 -5
  151. package/src/internal/_isFormatUriTemplate.ts +4 -4
  152. package/src/internal/_isFormatUrl.ts +4 -4
  153. package/src/internal/_isFormatUuid.ts +3 -3
  154. package/src/internal/_isTypeFloat.ts +5 -5
  155. package/src/internal/_isTypeInt32.ts +5 -5
  156. package/src/internal/_isTypeInt64.ts +5 -5
  157. package/src/internal/_isTypeUint32.ts +5 -5
  158. package/src/internal/_isTypeUint64.ts +5 -5
  159. package/src/internal/_isUniqueItems.ts +159 -159
  160. package/src/internal/_jsonStringifyNumber.ts +12 -12
  161. package/src/internal/_jsonStringifyRest.ts +3 -3
  162. package/src/internal/_jsonStringifyString.ts +42 -42
  163. package/src/internal/_jsonStringifyTail.ts +2 -2
  164. package/src/internal/_llmApplicationFinalize.ts +20 -20
  165. package/src/internal/_miscCloneAny.ts +46 -46
  166. package/src/internal/_notationAny.ts +37 -37
  167. package/src/internal/_notationCamel.ts +13 -13
  168. package/src/internal/_notationPascal.ts +8 -8
  169. package/src/internal/_notationSnake.ts +43 -43
  170. package/src/internal/_randomArray.ts +21 -21
  171. package/src/internal/_randomBigint.ts +6 -6
  172. package/src/internal/_randomBoolean.ts +1 -1
  173. package/src/internal/_randomFormatByte.ts +3 -3
  174. package/src/internal/_randomFormatDate.ts +18 -18
  175. package/src/internal/_randomFormatDatetime.ts +16 -16
  176. package/src/internal/_randomFormatDuration.ts +27 -27
  177. package/src/internal/_randomFormatEmail.ts +11 -11
  178. package/src/internal/_randomFormatHostname.ts +6 -6
  179. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  180. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  181. package/src/internal/_randomFormatIpv4.ts +11 -11
  182. package/src/internal/_randomFormatIpv6.ts +11 -11
  183. package/src/internal/_randomFormatIri.ts +3 -3
  184. package/src/internal/_randomFormatIriReference.ts +3 -3
  185. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  186. package/src/internal/_randomFormatPassword.ts +8 -8
  187. package/src/internal/_randomFormatRegex.ts +4 -4
  188. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  189. package/src/internal/_randomFormatTime.ts +14 -14
  190. package/src/internal/_randomFormatUri.ts +3 -3
  191. package/src/internal/_randomFormatUriReference.ts +3 -3
  192. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  193. package/src/internal/_randomFormatUrl.ts +11 -11
  194. package/src/internal/_randomFormatUuid.ts +6 -6
  195. package/src/internal/_randomInteger.ts +47 -47
  196. package/src/internal/_randomNumber.ts +74 -74
  197. package/src/internal/_randomPattern.ts +10 -10
  198. package/src/internal/_randomPick.ts +9 -9
  199. package/src/internal/_randomString.ts +24 -24
  200. package/src/internal/_throwTypeGuardError.ts +5 -5
  201. package/src/internal/_validateReport.ts +13 -13
  202. package/src/internal/private/__notationCapitalize.ts +2 -2
  203. package/src/internal/private/__notationUnsnake.ts +24 -24
  204. package/src/json.ts +752 -752
  205. package/src/llm.ts +481 -481
  206. package/src/misc.ts +658 -658
  207. package/src/module.ts +937 -937
  208. package/src/notations.ts +827 -827
  209. package/src/programmers/AssertProgrammer.ts +454 -454
  210. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  211. package/src/programmers/FeatureProgrammer.ts +622 -622
  212. package/src/programmers/ImportProgrammer.ts +185 -185
  213. package/src/programmers/IsProgrammer.ts +273 -273
  214. package/src/programmers/RandomProgrammer.ts +1190 -1190
  215. package/src/programmers/TypiaProgrammer.ts +174 -174
  216. package/src/programmers/ValidateProgrammer.ts +439 -439
  217. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  218. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  219. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  220. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  221. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  222. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  223. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  224. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  225. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  226. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  227. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  228. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  229. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  230. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  231. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  232. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  233. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  234. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  235. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  236. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  237. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  238. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  239. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  240. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  241. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  242. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  243. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  244. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  245. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  246. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  247. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  248. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  249. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  250. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  251. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  252. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  253. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  254. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  255. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  256. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  257. package/src/programmers/internal/check_array_length.ts +47 -47
  258. package/src/programmers/internal/check_bigint.ts +50 -50
  259. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  260. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  261. package/src/programmers/internal/check_everything.ts +23 -23
  262. package/src/programmers/internal/check_native.ts +27 -27
  263. package/src/programmers/internal/check_number.ts +112 -112
  264. package/src/programmers/internal/check_object.ts +75 -75
  265. package/src/programmers/internal/check_string.ts +50 -50
  266. package/src/programmers/internal/check_template.ts +48 -48
  267. package/src/programmers/internal/check_union_array_like.ts +335 -335
  268. package/src/programmers/internal/decode_union_object.ts +116 -116
  269. package/src/programmers/internal/feature_object_entries.ts +61 -61
  270. package/src/programmers/internal/json_schema_alias.ts +47 -47
  271. package/src/programmers/internal/json_schema_array.ts +45 -45
  272. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  273. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  274. package/src/programmers/internal/json_schema_constant.ts +26 -26
  275. package/src/programmers/internal/json_schema_description.ts +12 -12
  276. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  277. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  278. package/src/programmers/internal/json_schema_native.ts +33 -33
  279. package/src/programmers/internal/json_schema_number.ts +15 -15
  280. package/src/programmers/internal/json_schema_object.ts +158 -158
  281. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  282. package/src/programmers/internal/json_schema_station.ts +182 -182
  283. package/src/programmers/internal/json_schema_string.ts +15 -15
  284. package/src/programmers/internal/json_schema_template.ts +55 -55
  285. package/src/programmers/internal/json_schema_title.ts +20 -20
  286. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  287. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  288. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  289. package/src/programmers/internal/prune_object_properties.ts +71 -71
  290. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  291. package/src/programmers/internal/stringify_native.ts +7 -7
  292. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  293. package/src/programmers/internal/template_to_pattern.ts +23 -23
  294. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  295. package/src/programmers/json/JsonApplicationProgrammer.ts +279 -279
  296. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  297. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  298. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  299. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  300. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  301. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  302. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  303. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  304. package/src/programmers/llm/LlmApplicationOfValidateProgrammer.ts +104 -104
  305. package/src/programmers/llm/LlmApplicationProgrammer.ts +327 -327
  306. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  307. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  308. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  309. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  310. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  311. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  312. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  313. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  314. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  315. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  316. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  317. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  318. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  319. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  320. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  321. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  322. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  323. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  324. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  325. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  326. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  327. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  328. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  329. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  330. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  331. package/src/protobuf.ts +868 -868
  332. package/src/reflect.ts +57 -57
  333. package/src/schemas/json/IJsonApplication.ts +73 -73
  334. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  335. package/src/schemas/json/__IJsonApplication.ts +63 -63
  336. package/src/schemas/llm/ILlmApplicationOfValidate.ts +55 -55
  337. package/src/schemas/llm/ILlmFunctionOfValidate.ts +39 -39
  338. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  339. package/src/schemas/metadata/IMetadata.ts +35 -35
  340. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  341. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  342. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  343. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  344. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  345. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  346. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  347. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  348. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  349. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  350. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  351. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  352. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  353. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  354. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  355. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  356. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  357. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  358. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  359. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  360. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  361. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  362. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  363. package/src/schemas/metadata/Metadata.ts +669 -669
  364. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  365. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  366. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  367. package/src/schemas/metadata/MetadataArray.ts +49 -49
  368. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  369. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  370. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  371. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  372. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  373. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  374. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  375. package/src/schemas/metadata/MetadataMap.ts +48 -48
  376. package/src/schemas/metadata/MetadataNative.ts +44 -44
  377. package/src/schemas/metadata/MetadataObject.ts +48 -48
  378. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  379. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  380. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  381. package/src/schemas/metadata/MetadataSet.ts +45 -45
  382. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  383. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  384. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  385. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  386. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  387. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  388. package/src/tags/Constant.ts +15 -15
  389. package/src/tags/ContentMediaType.ts +10 -10
  390. package/src/tags/Default.ts +22 -22
  391. package/src/tags/Example.ts +24 -24
  392. package/src/tags/Examples.ts +16 -16
  393. package/src/tags/ExclusiveMaximum.ts +25 -25
  394. package/src/tags/ExclusiveMinimum.ts +25 -25
  395. package/src/tags/Format.ts +50 -50
  396. package/src/tags/JsonSchemaPlugin.ts +8 -8
  397. package/src/tags/MaxItems.ts +12 -12
  398. package/src/tags/MaxLength.ts +12 -12
  399. package/src/tags/Maximum.ts +19 -19
  400. package/src/tags/MinItems.ts +12 -12
  401. package/src/tags/MinLength.ts +12 -12
  402. package/src/tags/Minimum.ts +19 -19
  403. package/src/tags/MultipleOf.ts +21 -21
  404. package/src/tags/Pattern.ts +31 -31
  405. package/src/tags/Sequence.ts +10 -10
  406. package/src/tags/TagBase.ts +82 -82
  407. package/src/tags/Type.ts +32 -32
  408. package/src/tags/UniqueItems.ts +14 -14
  409. package/src/tags/index.ts +21 -21
  410. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  411. package/src/transform.ts +35 -35
  412. package/src/transformers/CallExpressionTransformer.ts +547 -547
  413. package/src/transformers/FileTransformer.ts +136 -136
  414. package/src/transformers/IProgrammerProps.ts +11 -11
  415. package/src/transformers/ITransformOptions.ts +62 -62
  416. package/src/transformers/ITransformProps.ts +9 -9
  417. package/src/transformers/ITypiaContext.ts +18 -18
  418. package/src/transformers/ImportTransformer.ts +81 -81
  419. package/src/transformers/NodeTransformer.ts +17 -17
  420. package/src/transformers/TransformerError.ts +60 -60
  421. package/src/transformers/features/AssertTransformer.ts +24 -24
  422. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  423. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  424. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  425. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  426. package/src/transformers/features/IsTransformer.ts +18 -18
  427. package/src/transformers/features/RandomTransformer.ts +41 -41
  428. package/src/transformers/features/ValidateTransformer.ts +18 -18
  429. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  430. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  431. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  432. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  433. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  434. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  435. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  436. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  437. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  438. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  439. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  440. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  441. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  442. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  443. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  444. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  445. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  446. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  447. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  448. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  449. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  450. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  451. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  452. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  453. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  454. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  455. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  456. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  457. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  458. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  459. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  460. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  461. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  462. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  463. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  464. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  465. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  466. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  467. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  468. package/src/transformers/features/json/JsonSchemasTransformer.ts +143 -143
  469. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  470. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  471. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  472. package/src/transformers/features/llm/LlmApplicationOfValidateTransformer.ts +121 -121
  473. package/src/transformers/features/llm/LlmApplicationTransformer.ts +118 -118
  474. package/src/transformers/features/llm/LlmParametersTransformer.ts +94 -94
  475. package/src/transformers/features/llm/LlmSchemaTransformer.ts +135 -135
  476. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  477. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  478. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  479. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  480. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  481. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  482. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  483. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  484. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  485. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  486. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  487. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  488. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  489. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  490. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  491. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  492. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  493. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  494. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  495. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  496. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  497. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  498. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  499. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  500. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  501. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  502. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  503. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  504. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  505. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  506. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  507. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  508. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  509. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  510. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  511. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  512. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  513. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  514. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  515. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  516. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  517. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  518. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  519. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  520. package/src/transformers/internal/GenericTransformer.ts +101 -101
  521. package/src/typings/Atomic.ts +13 -13
  522. package/src/typings/ClassProperties.ts +5 -5
  523. package/src/typings/Customizable.ts +5 -5
  524. package/src/typings/Equal.ts +18 -18
  525. package/src/typings/IsTuple.ts +9 -9
  526. package/src/typings/NativeClass.ts +23 -23
  527. package/src/typings/OmitNever.ts +3 -3
  528. package/src/typings/ProtobufAtomic.ts +19 -19
  529. package/src/typings/SpecialFields.ts +3 -3
  530. package/src/typings/ValidationPipe.ts +9 -9
  531. package/src/typings/ValueOf.ts +20 -20
  532. package/src/typings/Writable.ts +11 -11
  533. package/src/utils/ArrayUtil.ts +41 -41
  534. package/src/utils/Escaper.ts +50 -50
  535. package/src/utils/MapUtil.ts +14 -14
  536. package/src/utils/NamingConvention.ts +94 -94
  537. package/src/utils/PatternUtil.ts +29 -29
  538. package/src/utils/ProtobufNameEncoder.ts +32 -32
  539. package/src/utils/Singleton.ts +16 -16
  540. package/src/utils/StringUtil.ts +16 -16
@@ -1,46 +1,46 @@
1
- import { Resolved } from "../Resolved";
2
-
3
- export const _miscCloneAny = <T>(value: T): Resolved<T> =>
4
- cloneMain(value) as Resolved<T>;
5
-
6
- const cloneMain = (value: any): any => {
7
- if (value === undefined) return undefined;
8
- else if (typeof value === "object")
9
- if (value === null) return null;
10
- else if (Array.isArray(value)) return value.map(cloneMain);
11
- else if (value instanceof Date) return new Date(value);
12
- else if (value instanceof Uint8Array) return new Uint8Array(value);
13
- else if (value instanceof Uint8ClampedArray)
14
- return new Uint8ClampedArray(value);
15
- else if (value instanceof Uint16Array) return new Uint16Array(value);
16
- else if (value instanceof Uint32Array) return new Uint32Array(value);
17
- else if (value instanceof BigUint64Array) return new BigUint64Array(value);
18
- else if (value instanceof Int8Array) return new Int8Array(value);
19
- else if (value instanceof Int16Array) return new Int16Array(value);
20
- else if (value instanceof Int32Array) return new Int32Array(value);
21
- else if (value instanceof BigInt64Array) return new BigInt64Array(value);
22
- else if (value instanceof Float32Array) return new Float32Array(value);
23
- else if (value instanceof Float64Array) return new Float64Array(value);
24
- else if (value instanceof ArrayBuffer) return value.slice(0);
25
- else if (value instanceof SharedArrayBuffer) return value.slice(0);
26
- else if (value instanceof DataView)
27
- return new DataView(value.buffer.slice(0));
28
- else if (typeof File !== "undefined" && value instanceof File)
29
- return new File([value], value.name, { type: value.type });
30
- else if (typeof Blob !== "undefined" && value instanceof Blob)
31
- return new Blob([value], { type: value.type });
32
- else if (value instanceof Set) return new Set([...value].map(cloneMain));
33
- else if (value instanceof Map)
34
- return new Map([...value].map(([k, v]) => [cloneMain(k), cloneMain(v)]));
35
- else if (value instanceof WeakSet || value instanceof WeakMap)
36
- throw new Error("WeakSet and WeakMap are not supported");
37
- else if (value.valueOf() !== value) return cloneMain(value.valueOf());
38
- else
39
- return Object.fromEntries(
40
- Object.entries(value)
41
- .map(([k, v]) => [k, cloneMain(v)])
42
- .filter(([, v]) => v !== undefined),
43
- );
44
- else if (typeof value === "function") return undefined;
45
- return value;
46
- };
1
+ import { Resolved } from "../Resolved";
2
+
3
+ export const _miscCloneAny = <T>(value: T): Resolved<T> =>
4
+ cloneMain(value) as Resolved<T>;
5
+
6
+ const cloneMain = (value: any): any => {
7
+ if (value === undefined) return undefined;
8
+ else if (typeof value === "object")
9
+ if (value === null) return null;
10
+ else if (Array.isArray(value)) return value.map(cloneMain);
11
+ else if (value instanceof Date) return new Date(value);
12
+ else if (value instanceof Uint8Array) return new Uint8Array(value);
13
+ else if (value instanceof Uint8ClampedArray)
14
+ return new Uint8ClampedArray(value);
15
+ else if (value instanceof Uint16Array) return new Uint16Array(value);
16
+ else if (value instanceof Uint32Array) return new Uint32Array(value);
17
+ else if (value instanceof BigUint64Array) return new BigUint64Array(value);
18
+ else if (value instanceof Int8Array) return new Int8Array(value);
19
+ else if (value instanceof Int16Array) return new Int16Array(value);
20
+ else if (value instanceof Int32Array) return new Int32Array(value);
21
+ else if (value instanceof BigInt64Array) return new BigInt64Array(value);
22
+ else if (value instanceof Float32Array) return new Float32Array(value);
23
+ else if (value instanceof Float64Array) return new Float64Array(value);
24
+ else if (value instanceof ArrayBuffer) return value.slice(0);
25
+ else if (value instanceof SharedArrayBuffer) return value.slice(0);
26
+ else if (value instanceof DataView)
27
+ return new DataView(value.buffer.slice(0));
28
+ else if (typeof File !== "undefined" && value instanceof File)
29
+ return new File([value], value.name, { type: value.type });
30
+ else if (typeof Blob !== "undefined" && value instanceof Blob)
31
+ return new Blob([value], { type: value.type });
32
+ else if (value instanceof Set) return new Set([...value].map(cloneMain));
33
+ else if (value instanceof Map)
34
+ return new Map([...value].map(([k, v]) => [cloneMain(k), cloneMain(v)]));
35
+ else if (value instanceof WeakSet || value instanceof WeakMap)
36
+ throw new Error("WeakSet and WeakMap are not supported");
37
+ else if (value.valueOf() !== value) return cloneMain(value.valueOf());
38
+ else
39
+ return Object.fromEntries(
40
+ Object.entries(value)
41
+ .map(([k, v]) => [k, cloneMain(v)])
42
+ .filter(([, v]) => v !== undefined),
43
+ );
44
+ else if (typeof value === "function") return undefined;
45
+ return value;
46
+ };
@@ -1,37 +1,37 @@
1
- export const _notationAny = (rename: (str: string) => string) => {
2
- const main = (input: any): any => {
3
- if (typeof input === "object")
4
- if (input === null) return null;
5
- else if (Array.isArray(input)) return input.map(main);
6
- else if (
7
- input instanceof Boolean ||
8
- input instanceof BigInt ||
9
- input instanceof Number ||
10
- input instanceof String
11
- )
12
- return input.valueOf();
13
- else if (input instanceof Date) return new Date(input);
14
- else if (
15
- input instanceof Uint8Array ||
16
- input instanceof Uint8ClampedArray ||
17
- input instanceof Uint16Array ||
18
- input instanceof Uint32Array ||
19
- input instanceof BigUint64Array ||
20
- input instanceof Int8Array ||
21
- input instanceof Int16Array ||
22
- input instanceof Int32Array ||
23
- input instanceof BigInt64Array ||
24
- input instanceof Float32Array ||
25
- input instanceof Float64Array ||
26
- input instanceof DataView
27
- )
28
- return input;
29
- else return object(input);
30
- return input;
31
- };
32
- const object = (input: Record<string, any>) =>
33
- Object.fromEntries(
34
- Object.entries(input).map(([key, value]) => [rename(key), main(value)]),
35
- );
36
- return main;
37
- };
1
+ export const _notationAny = (rename: (str: string) => string) => {
2
+ const main = (input: any): any => {
3
+ if (typeof input === "object")
4
+ if (input === null) return null;
5
+ else if (Array.isArray(input)) return input.map(main);
6
+ else if (
7
+ input instanceof Boolean ||
8
+ input instanceof BigInt ||
9
+ input instanceof Number ||
10
+ input instanceof String
11
+ )
12
+ return input.valueOf();
13
+ else if (input instanceof Date) return new Date(input);
14
+ else if (
15
+ input instanceof Uint8Array ||
16
+ input instanceof Uint8ClampedArray ||
17
+ input instanceof Uint16Array ||
18
+ input instanceof Uint32Array ||
19
+ input instanceof BigUint64Array ||
20
+ input instanceof Int8Array ||
21
+ input instanceof Int16Array ||
22
+ input instanceof Int32Array ||
23
+ input instanceof BigInt64Array ||
24
+ input instanceof Float32Array ||
25
+ input instanceof Float64Array ||
26
+ input instanceof DataView
27
+ )
28
+ return input;
29
+ else return object(input);
30
+ return input;
31
+ };
32
+ const object = (input: Record<string, any>) =>
33
+ Object.fromEntries(
34
+ Object.entries(input).map(([key, value]) => [rename(key), main(value)]),
35
+ );
36
+ return main;
37
+ };
@@ -1,13 +1,13 @@
1
- import { __notationCapitalize } from "./private/__notationCapitalize";
2
- import { __notationUnsnake } from "./private/__notationUnsnake";
3
-
4
- export const _notationCamel = __notationUnsnake({
5
- plain: (str) =>
6
- str.length
7
- ? str === str.toUpperCase()
8
- ? str.toLocaleLowerCase()
9
- : `${str[0]!.toLowerCase()}${str.substring(1)}`
10
- : str,
11
- snake: (str, i) =>
12
- i === 0 ? str.toLowerCase() : __notationCapitalize(str.toLowerCase()),
13
- });
1
+ import { __notationCapitalize } from "./private/__notationCapitalize";
2
+ import { __notationUnsnake } from "./private/__notationUnsnake";
3
+
4
+ export const _notationCamel = __notationUnsnake({
5
+ plain: (str) =>
6
+ str.length
7
+ ? str === str.toUpperCase()
8
+ ? str.toLocaleLowerCase()
9
+ : `${str[0]!.toLowerCase()}${str.substring(1)}`
10
+ : str,
11
+ snake: (str, i) =>
12
+ i === 0 ? str.toLowerCase() : __notationCapitalize(str.toLowerCase()),
13
+ });
@@ -1,8 +1,8 @@
1
- import { __notationCapitalize } from "./private/__notationCapitalize";
2
- import { __notationUnsnake } from "./private/__notationUnsnake";
3
-
4
- export const _notationPascal = __notationUnsnake({
5
- plain: (str) =>
6
- str.length ? `${str[0]!.toUpperCase()}${str.substring(1)}` : str,
7
- snake: __notationCapitalize,
8
- });
1
+ import { __notationCapitalize } from "./private/__notationCapitalize";
2
+ import { __notationUnsnake } from "./private/__notationUnsnake";
3
+
4
+ export const _notationPascal = __notationUnsnake({
5
+ plain: (str) =>
6
+ str.length ? `${str[0]!.toUpperCase()}${str.substring(1)}` : str,
7
+ snake: __notationCapitalize,
8
+ });
@@ -1,43 +1,43 @@
1
- export const _notationSnake = (str: string): string => {
2
- if (str.length === 0) return str;
3
-
4
- // PREFIX
5
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
- let prefix: string = "";
7
- for (let i: number = 0; i < str.length; i++) {
8
- if (str[i] === "_") prefix += "_";
9
- else break;
10
- }
11
- if (prefix.length !== 0) str = str.substring(prefix.length);
12
-
13
- const out = (s: string) => `${prefix}${s}`;
14
-
15
- // SNAKE CASE
16
- const items: string[] = str.split("_");
17
- if (items.length > 1) return out(items.map((s) => s.toLowerCase()).join("_"));
18
-
19
- // CAMEL OR PASCAL CASE
20
- const indexes: number[] = [];
21
- for (let i: number = 0; i < str.length; i++) {
22
- const code: number = str.charCodeAt(i);
23
- if (65 <= code && code <= 90) indexes.push(i);
24
- }
25
- for (let i: number = indexes.length - 1; i > 0; --i) {
26
- const now: number = indexes[i]!;
27
- const prev: number = indexes[i - 1]!;
28
- if (now - prev === 1) indexes.splice(i, 1);
29
- }
30
- if (indexes.length !== 0 && indexes[0] === 0) indexes.splice(0, 1);
31
- if (indexes.length === 0) return str.toLowerCase();
32
-
33
- let ret: string = "";
34
- for (let i: number = 0; i < indexes.length; i++) {
35
- const first: number = i === 0 ? 0 : indexes[i - 1]!;
36
- const last: number = indexes[i]!;
37
-
38
- ret += str.substring(first, last).toLowerCase();
39
- ret += "_";
40
- }
41
- ret += str.substring(indexes[indexes.length - 1]!).toLowerCase();
42
- return out(ret);
43
- };
1
+ export const _notationSnake = (str: string): string => {
2
+ if (str.length === 0) return str;
3
+
4
+ // PREFIX
5
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
6
+ let prefix: string = "";
7
+ for (let i: number = 0; i < str.length; i++) {
8
+ if (str[i] === "_") prefix += "_";
9
+ else break;
10
+ }
11
+ if (prefix.length !== 0) str = str.substring(prefix.length);
12
+
13
+ const out = (s: string) => `${prefix}${s}`;
14
+
15
+ // SNAKE CASE
16
+ const items: string[] = str.split("_");
17
+ if (items.length > 1) return out(items.map((s) => s.toLowerCase()).join("_"));
18
+
19
+ // CAMEL OR PASCAL CASE
20
+ const indexes: number[] = [];
21
+ for (let i: number = 0; i < str.length; i++) {
22
+ const code: number = str.charCodeAt(i);
23
+ if (65 <= code && code <= 90) indexes.push(i);
24
+ }
25
+ for (let i: number = indexes.length - 1; i > 0; --i) {
26
+ const now: number = indexes[i]!;
27
+ const prev: number = indexes[i - 1]!;
28
+ if (now - prev === 1) indexes.splice(i, 1);
29
+ }
30
+ if (indexes.length !== 0 && indexes[0] === 0) indexes.splice(0, 1);
31
+ if (indexes.length === 0) return str.toLowerCase();
32
+
33
+ let ret: string = "";
34
+ for (let i: number = 0; i < indexes.length; i++) {
35
+ const first: number = i === 0 ? 0 : indexes[i - 1]!;
36
+ const last: number = indexes[i]!;
37
+
38
+ ret += str.substring(first, last).toLowerCase();
39
+ ret += "_";
40
+ }
41
+ ret += str.substring(indexes[indexes.length - 1]!).toLowerCase();
42
+ return out(ret);
43
+ };
@@ -1,21 +1,21 @@
1
- import { OpenApi } from "@samchon/openapi";
2
-
3
- import { _randomInteger } from "./_randomInteger";
4
-
5
- export const _randomArray = <T>(
6
- props: Omit<OpenApi.IJsonSchema.IArray, "items"> & {
7
- element: (index: number, count: number) => T;
8
- },
9
- ) => {
10
- const count: number = _randomInteger({
11
- type: "integer",
12
- minimum: props.minItems ?? 0,
13
- maximum: props.maxItems ?? (props.minItems ?? 0) + 5,
14
- });
15
- if (props.uniqueItems !== true)
16
- return new Array(count).fill(null).map((_, i) => props.element(i, count));
17
- const elements: Set<any> = new Set();
18
- while (elements.size !== count)
19
- elements.add(props.element(elements.size, count));
20
- return Array.from(elements);
21
- };
1
+ import { OpenApi } from "@samchon/openapi";
2
+
3
+ import { _randomInteger } from "./_randomInteger";
4
+
5
+ export const _randomArray = <T>(
6
+ props: Omit<OpenApi.IJsonSchema.IArray, "items"> & {
7
+ element: (index: number, count: number) => T;
8
+ },
9
+ ) => {
10
+ const count: number = _randomInteger({
11
+ type: "integer",
12
+ minimum: props.minItems ?? 0,
13
+ maximum: props.maxItems ?? (props.minItems ?? 0) + 5,
14
+ });
15
+ if (props.uniqueItems !== true)
16
+ return new Array(count).fill(null).map((_, i) => props.element(i, count));
17
+ const elements: Set<any> = new Set();
18
+ while (elements.size !== count)
19
+ elements.add(props.element(elements.size, count));
20
+ return Array.from(elements);
21
+ };
@@ -1,6 +1,6 @@
1
- import { OpenApi } from "@samchon/openapi";
2
-
3
- import { _randomInteger } from "./_randomInteger";
4
-
5
- export const _randomBigint = (props: OpenApi.IJsonSchema.IInteger): bigint =>
6
- BigInt(_randomInteger(props));
1
+ import { OpenApi } from "@samchon/openapi";
2
+
3
+ import { _randomInteger } from "./_randomInteger";
4
+
5
+ export const _randomBigint = (props: OpenApi.IJsonSchema.IInteger): bigint =>
6
+ BigInt(_randomInteger(props));
@@ -1 +1 @@
1
- export const _randomBoolean = (): boolean => Math.random() < 0.5;
1
+ export const _randomBoolean = (): boolean => Math.random() < 0.5;
@@ -1,3 +1,3 @@
1
- export const _randomFormatByte = (): string => FIXED;
2
-
3
- const FIXED = "vt7ekz4lIoNTTS9sDQYdWKharxIFAR54+z/umIxSgUM=";
1
+ export const _randomFormatByte = (): string => FIXED;
2
+
3
+ const FIXED = "vt7ekz4lIoNTTS9sDQYdWKharxIFAR54+z/umIxSgUM=";
@@ -1,18 +1,18 @@
1
- import { _randomInteger } from "./_randomInteger";
2
-
3
- export const _randomFormatDate = (props?: {
4
- minimum?: number;
5
- maximum?: number;
6
- }) =>
7
- new Date(
8
- _randomInteger({
9
- type: "integer",
10
- minimum: props?.minimum ?? 0,
11
- maximum:
12
- (props?.maximum ?? props?.minimum === undefined)
13
- ? Date.now()
14
- : props.minimum + 365 * 24 * 60 * 60 * 1_000,
15
- }),
16
- )
17
- .toISOString()
18
- .substring(0, 10);
1
+ import { _randomInteger } from "./_randomInteger";
2
+
3
+ export const _randomFormatDate = (props?: {
4
+ minimum?: number;
5
+ maximum?: number;
6
+ }) =>
7
+ new Date(
8
+ _randomInteger({
9
+ type: "integer",
10
+ minimum: props?.minimum ?? 0,
11
+ maximum:
12
+ (props?.maximum ?? props?.minimum === undefined)
13
+ ? Date.now()
14
+ : props.minimum + 365 * 24 * 60 * 60 * 1_000,
15
+ }),
16
+ )
17
+ .toISOString()
18
+ .substring(0, 10);
@@ -1,16 +1,16 @@
1
- import { _randomInteger } from "./_randomInteger";
2
-
3
- export const _randomFormatDatetime = (props?: {
4
- minimum?: number;
5
- maximum?: number;
6
- }) =>
7
- new Date(
8
- _randomInteger({
9
- type: "integer",
10
- minimum: props?.minimum ?? 0,
11
- maximum:
12
- (props?.maximum ?? props?.minimum === undefined)
13
- ? Date.now()
14
- : props.minimum + 365 * 24 * 60 * 60 * 1_000,
15
- }),
16
- ).toISOString();
1
+ import { _randomInteger } from "./_randomInteger";
2
+
3
+ export const _randomFormatDatetime = (props?: {
4
+ minimum?: number;
5
+ maximum?: number;
6
+ }) =>
7
+ new Date(
8
+ _randomInteger({
9
+ type: "integer",
10
+ minimum: props?.minimum ?? 0,
11
+ maximum:
12
+ (props?.maximum ?? props?.minimum === undefined)
13
+ ? Date.now()
14
+ : props.minimum + 365 * 24 * 60 * 60 * 1_000,
15
+ }),
16
+ ).toISOString();
@@ -1,27 +1,27 @@
1
- import { _randomInteger } from "./_randomInteger";
2
-
3
- export const _randomFormatDuration = (): string => {
4
- const period: string = durate([
5
- ["Y", random(0, 100)],
6
- ["M", random(0, 12)],
7
- ["D", random(0, 31)],
8
- ]);
9
- const time: string = durate([
10
- ["H", random(0, 24)],
11
- ["M", random(0, 60)],
12
- ["S", random(0, 60)],
13
- ]);
14
- if (period.length + time.length === 0) return "PT0S";
15
- return `P${period}${time.length ? "T" : ""}${time}`;
16
- };
17
- const durate = (elements: [string, number][]) =>
18
- elements
19
- .filter(([_unit, value]) => value !== 0)
20
- .map(([unit, value]) => `${value}${unit}`)
21
- .join("");
22
- const random = (minimum: number, maximum: number) =>
23
- _randomInteger({
24
- type: "integer",
25
- minimum,
26
- maximum,
27
- });
1
+ import { _randomInteger } from "./_randomInteger";
2
+
3
+ export const _randomFormatDuration = (): string => {
4
+ const period: string = durate([
5
+ ["Y", random(0, 100)],
6
+ ["M", random(0, 12)],
7
+ ["D", random(0, 31)],
8
+ ]);
9
+ const time: string = durate([
10
+ ["H", random(0, 24)],
11
+ ["M", random(0, 60)],
12
+ ["S", random(0, 60)],
13
+ ]);
14
+ if (period.length + time.length === 0) return "PT0S";
15
+ return `P${period}${time.length ? "T" : ""}${time}`;
16
+ };
17
+ const durate = (elements: [string, number][]) =>
18
+ elements
19
+ .filter(([_unit, value]) => value !== 0)
20
+ .map(([unit, value]) => `${value}${unit}`)
21
+ .join("");
22
+ const random = (minimum: number, maximum: number) =>
23
+ _randomInteger({
24
+ type: "integer",
25
+ minimum,
26
+ maximum,
27
+ });
@@ -1,11 +1,11 @@
1
- import { _randomString } from "./_randomString";
2
-
3
- export const _randomFormatEmail = (): string =>
4
- `${random(10)}@${random(10)}.${random(3)}`;
5
-
6
- const random = (length: number) =>
7
- _randomString({
8
- type: "string",
9
- minLength: length,
10
- maxLength: length,
11
- });
1
+ import { _randomString } from "./_randomString";
2
+
3
+ export const _randomFormatEmail = (): string =>
4
+ `${random(10)}@${random(10)}.${random(3)}`;
5
+
6
+ const random = (length: number) =>
7
+ _randomString({
8
+ type: "string",
9
+ minLength: length,
10
+ maxLength: length,
11
+ });
@@ -1,6 +1,6 @@
1
- import { _randomString } from "./_randomString";
2
-
3
- export const _randomFormatHostname = (): string => `${random(10)}.${random(3)}`;
4
-
5
- const random = (length: number) =>
6
- _randomString({ type: "string", minLength: length, maxLength: length });
1
+ import { _randomString } from "./_randomString";
2
+
3
+ export const _randomFormatHostname = (): string => `${random(10)}.${random(3)}`;
4
+
5
+ const random = (length: number) =>
6
+ _randomString({ type: "string", minLength: length, maxLength: length });
@@ -1,3 +1,3 @@
1
- import { _randomFormatEmail } from "./_randomFormatEmail";
2
-
3
- export const _randomFormatIdnEmail = (): string => _randomFormatEmail();
1
+ import { _randomFormatEmail } from "./_randomFormatEmail";
2
+
3
+ export const _randomFormatIdnEmail = (): string => _randomFormatEmail();
@@ -1,3 +1,3 @@
1
- import { _randomFormatHostname } from "./_randomFormatHostname";
2
-
3
- export const _randomFormatIdnHostname = (): string => _randomFormatHostname();
1
+ import { _randomFormatHostname } from "./_randomFormatHostname";
2
+
3
+ export const _randomFormatIdnHostname = (): string => _randomFormatHostname();
@@ -1,11 +1,11 @@
1
- import { _randomInteger } from "./_randomInteger";
2
-
3
- export const _randomFormatIpv4 = (): string =>
4
- new Array(4).fill(0).map(random).join(".");
5
-
6
- const random = () =>
7
- _randomInteger({
8
- type: "integer",
9
- minimum: 0,
10
- maximum: 255,
11
- });
1
+ import { _randomInteger } from "./_randomInteger";
2
+
3
+ export const _randomFormatIpv4 = (): string =>
4
+ new Array(4).fill(0).map(random).join(".");
5
+
6
+ const random = () =>
7
+ _randomInteger({
8
+ type: "integer",
9
+ minimum: 0,
10
+ maximum: 255,
11
+ });
@@ -1,11 +1,11 @@
1
- import { _randomInteger } from "./_randomInteger";
2
-
3
- export const _randomFormatIpv6 = (): string =>
4
- new Array(8).fill(0).map(random).join(":");
5
-
6
- const random = () =>
7
- _randomInteger({
8
- type: "integer",
9
- minimum: 0,
10
- maximum: 65_535,
11
- }).toString(16);
1
+ import { _randomInteger } from "./_randomInteger";
2
+
3
+ export const _randomFormatIpv6 = (): string =>
4
+ new Array(8).fill(0).map(random).join(":");
5
+
6
+ const random = () =>
7
+ _randomInteger({
8
+ type: "integer",
9
+ minimum: 0,
10
+ maximum: 65_535,
11
+ }).toString(16);
@@ -1,3 +1,3 @@
1
- import { _randomFormatUrl } from "./_randomFormatUrl";
2
-
3
- export const _randomFormatIri = (): string => _randomFormatUrl();
1
+ import { _randomFormatUrl } from "./_randomFormatUrl";
2
+
3
+ export const _randomFormatIri = (): string => _randomFormatUrl();
@@ -1,3 +1,3 @@
1
- import { _randomFormatUrl } from "./_randomFormatUrl";
2
-
3
- export const _randomFormatIriReference = (): string => _randomFormatUrl();
1
+ import { _randomFormatUrl } from "./_randomFormatUrl";
2
+
3
+ export const _randomFormatIriReference = (): string => _randomFormatUrl();
@@ -1,7 +1,7 @@
1
- import { _randomString } from "./_randomString";
2
-
3
- export const _randomFormatJsonPointer = (): string =>
4
- `/components/schemas/${random()}`;
5
-
6
- const random = () =>
7
- _randomString({ type: "string", minLength: 10, maxLength: 10 });
1
+ import { _randomString } from "./_randomString";
2
+
3
+ export const _randomFormatJsonPointer = (): string =>
4
+ `/components/schemas/${random()}`;
5
+
6
+ const random = () =>
7
+ _randomString({ type: "string", minLength: 10, maxLength: 10 });
@@ -1,8 +1,8 @@
1
- import { _randomString } from "./_randomString";
2
-
3
- export const _randomFormatPassword = (): string =>
4
- _randomString({
5
- type: "string",
6
- minLength: 4,
7
- maxLength: 16,
8
- });
1
+ import { _randomString } from "./_randomString";
2
+
3
+ export const _randomFormatPassword = (): string =>
4
+ _randomString({
5
+ type: "string",
6
+ minLength: 4,
7
+ maxLength: 16,
8
+ });