typia 7.6.2-dev.20250204 → 7.6.2

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