typia 9.0.1 → 9.1.0-dev.20250408

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