typia 6.10.1 → 6.10.2-dev.20240920

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 (434) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +118 -118
  3. package/lib/programmers/helpers/RandomRanger.js +1 -1
  4. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  5. package/package.json +1 -1
  6. package/src/AssertionGuard.ts +1 -1
  7. package/src/CamelCase.ts +75 -75
  8. package/src/IRandomGenerator.ts +66 -66
  9. package/src/IValidation.ts +21 -21
  10. package/src/PascalCase.ts +71 -71
  11. package/src/Primitive.ts +92 -92
  12. package/src/Resolved.ts +74 -74
  13. package/src/SnakeCase.ts +126 -126
  14. package/src/TypeGuardError.ts +37 -37
  15. package/src/executable/TypiaGenerateWizard.ts +83 -83
  16. package/src/executable/TypiaPatchWizard.ts +42 -42
  17. package/src/executable/TypiaSetupWizard.ts +174 -174
  18. package/src/executable/setup/ArgumentParser.ts +43 -43
  19. package/src/executable/setup/CommandExecutor.ts +8 -8
  20. package/src/executable/setup/FileRetriever.ts +22 -22
  21. package/src/executable/setup/PackageManager.ts +86 -86
  22. package/src/executable/setup/PluginConfigurator.ts +69 -69
  23. package/src/executable/typia.ts +55 -55
  24. package/src/factories/CommentFactory.ts +79 -79
  25. package/src/factories/ExpressionFactory.ts +150 -150
  26. package/src/factories/IdentifierFactory.ts +70 -70
  27. package/src/factories/JsonMetadataFactory.ts +53 -53
  28. package/src/factories/LiteralFactory.ts +47 -47
  29. package/src/factories/MetadataCollection.ts +274 -274
  30. package/src/factories/MetadataCommentTagFactory.ts +534 -534
  31. package/src/factories/MetadataFactory.ts +314 -314
  32. package/src/factories/MetadataTypeTagFactory.ts +336 -336
  33. package/src/factories/MetadataTypeTagSchemaFactory.ts +59 -59
  34. package/src/factories/NumericRangeFactory.ts +72 -72
  35. package/src/factories/ProtobufFactory.ts +267 -267
  36. package/src/factories/StatementFactory.ts +74 -74
  37. package/src/factories/TemplateFactory.ts +56 -56
  38. package/src/factories/TypeFactory.ts +118 -118
  39. package/src/factories/ValueFactory.ts +12 -12
  40. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  41. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  42. package/src/factories/internal/metadata/emplace_metadata_alias.ts +41 -41
  43. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +42 -42
  44. package/src/factories/internal/metadata/emplace_metadata_object.ts +186 -186
  45. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  46. package/src/factories/internal/metadata/explore_metadata.ts +28 -28
  47. package/src/factories/internal/metadata/iterate_metadata.ts +100 -100
  48. package/src/factories/internal/metadata/iterate_metadata_alias.ts +34 -34
  49. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  50. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  51. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  52. package/src/factories/internal/metadata/iterate_metadata_collection.ts +131 -131
  53. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +28 -28
  54. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  55. package/src/factories/internal/metadata/iterate_metadata_escape.ts +52 -52
  56. package/src/factories/internal/metadata/iterate_metadata_function.ts +89 -89
  57. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +213 -213
  58. package/src/factories/internal/metadata/iterate_metadata_map.ts +50 -50
  59. package/src/factories/internal/metadata/iterate_metadata_native.ts +220 -220
  60. package/src/factories/internal/metadata/iterate_metadata_object.ts +33 -33
  61. package/src/factories/internal/metadata/iterate_metadata_set.ts +41 -41
  62. package/src/factories/internal/metadata/iterate_metadata_sort.ts +74 -74
  63. package/src/factories/internal/metadata/iterate_metadata_template.ts +44 -44
  64. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +37 -37
  65. package/src/factories/internal/metadata/iterate_metadata_union.ts +27 -27
  66. package/src/functional/$FormDataReader/$FormDataReader.ts +83 -83
  67. package/src/functional/$FormDataReader/index.ts +1 -1
  68. package/src/functional/$HeadersReader/$HeadersReader.ts +26 -26
  69. package/src/functional/$HeadersReader/index.ts +1 -1
  70. package/src/functional/$ParameterReader/$ParameterReader.ts +29 -29
  71. package/src/functional/$ParameterReader/index.ts +1 -1
  72. package/src/functional/$ProtobufReader.ts +194 -194
  73. package/src/functional/$ProtobufSizer.ts +144 -144
  74. package/src/functional/$ProtobufWriter.ts +145 -145
  75. package/src/functional/$QueryReader/$QueryReader.ts +46 -46
  76. package/src/functional/$QueryReader/index.ts +1 -1
  77. package/src/functional/$any.ts +3 -3
  78. package/src/functional/$clone.ts +48 -48
  79. package/src/functional/$convention.ts +37 -37
  80. package/src/functional/$dictionary.ts +22 -22
  81. package/src/functional/$every.ts +11 -11
  82. package/src/functional/$guard.ts +21 -21
  83. package/src/functional/$is_between.ts +2 -2
  84. package/src/functional/$join.ts +46 -46
  85. package/src/functional/$number.ts +12 -12
  86. package/src/functional/$report.ts +13 -13
  87. package/src/functional/$rest.ts +3 -3
  88. package/src/functional/$stoll.ts +8 -8
  89. package/src/functional/$string.ts +43 -43
  90. package/src/functional/$strlen.ts +7 -7
  91. package/src/functional/$tail.ts +5 -5
  92. package/src/functional/$throws.ts +10 -10
  93. package/src/functional/$varint.ts +130 -130
  94. package/src/functional/$zigzag.ts +39 -39
  95. package/src/functional/IProtobufWriter.ts +18 -18
  96. package/src/functional/Namespace/functional.ts +5 -5
  97. package/src/functional/Namespace/http.ts +9 -9
  98. package/src/functional/Namespace/index.ts +77 -77
  99. package/src/functional/Namespace/json.ts +15 -15
  100. package/src/functional/Namespace/llm.ts +20 -20
  101. package/src/functional/Namespace/misc.ts +14 -14
  102. package/src/functional/Namespace/notations.ts +23 -23
  103. package/src/functional/Namespace/protobuf.ts +20 -20
  104. package/src/functional/is.ts +10 -10
  105. package/src/functional.ts +872 -872
  106. package/src/http.ts +1266 -1266
  107. package/src/index.ts +4 -4
  108. package/src/json.ts +738 -738
  109. package/src/llm.ts +186 -186
  110. package/src/misc.ts +757 -757
  111. package/src/module.ts +1023 -1023
  112. package/src/notations.ts +1020 -1020
  113. package/src/programmers/AssertProgrammer.ts +397 -397
  114. package/src/programmers/CheckerProgrammer.ts +1138 -1138
  115. package/src/programmers/FeatureProgrammer.ts +549 -549
  116. package/src/programmers/IsProgrammer.ts +220 -220
  117. package/src/programmers/RandomProgrammer.ts +955 -955
  118. package/src/programmers/TypiaProgrammer.ts +157 -157
  119. package/src/programmers/ValidateProgrammer.ts +382 -382
  120. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +141 -141
  121. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +108 -108
  122. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +98 -98
  123. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  124. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +101 -101
  125. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +106 -106
  126. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +123 -123
  127. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +267 -267
  128. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +126 -126
  129. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  130. package/src/programmers/helpers/AtomicPredicator.ts +24 -24
  131. package/src/programmers/helpers/CloneJoiner.ts +130 -130
  132. package/src/programmers/helpers/FunctionImporeter.ts +1 -1
  133. package/src/programmers/helpers/FunctionImporter.ts +97 -97
  134. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  135. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  136. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  137. package/src/programmers/helpers/NotationJoiner.ts +132 -132
  138. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  139. package/src/programmers/helpers/ProtobufUtil.ts +125 -125
  140. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  141. package/src/programmers/helpers/PruneJoiner.ts +139 -139
  142. package/src/programmers/helpers/RandomJoiner.ts +145 -145
  143. package/src/programmers/helpers/RandomRanger.ts +171 -171
  144. package/src/programmers/helpers/StringifyJoinder.ts +105 -105
  145. package/src/programmers/helpers/StringifyPredicator.ts +12 -12
  146. package/src/programmers/helpers/UnionExplorer.ts +269 -269
  147. package/src/programmers/helpers/UnionPredicator.ts +77 -77
  148. package/src/programmers/helpers/disable_function_importer_declare.ts +33 -33
  149. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +91 -91
  150. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +91 -91
  151. package/src/programmers/http/HttpAssertQueryProgrammer.ts +93 -93
  152. package/src/programmers/http/HttpFormDataProgrammer.ts +278 -278
  153. package/src/programmers/http/HttpHeadersProgrammer.ts +347 -347
  154. package/src/programmers/http/HttpIsFormDataProgrammer.ts +102 -102
  155. package/src/programmers/http/HttpIsHeadersProgrammer.ts +102 -102
  156. package/src/programmers/http/HttpIsQueryProgrammer.ts +104 -104
  157. package/src/programmers/http/HttpParameterProgrammer.ts +97 -97
  158. package/src/programmers/http/HttpQueryProgrammer.ts +298 -298
  159. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +85 -85
  160. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +85 -85
  161. package/src/programmers/http/HttpValidateQueryProgrammer.ts +87 -87
  162. package/src/programmers/internal/application_array.ts +61 -61
  163. package/src/programmers/internal/application_bigint.ts +25 -25
  164. package/src/programmers/internal/application_boolean.ts +25 -25
  165. package/src/programmers/internal/application_description.ts +12 -12
  166. package/src/programmers/internal/application_escaped.ts +74 -74
  167. package/src/programmers/internal/application_number.ts +25 -25
  168. package/src/programmers/internal/application_plugin.ts +19 -19
  169. package/src/programmers/internal/application_string.ts +25 -25
  170. package/src/programmers/internal/application_templates.ts +62 -62
  171. package/src/programmers/internal/application_title.ts +20 -20
  172. package/src/programmers/internal/application_union_discriminator.ts +35 -35
  173. package/src/programmers/internal/application_v30_alias.ts +52 -52
  174. package/src/programmers/internal/application_v30_constant.ts +18 -18
  175. package/src/programmers/internal/application_v30_native.ts +28 -28
  176. package/src/programmers/internal/application_v30_object.ts +149 -149
  177. package/src/programmers/internal/application_v30_schema.ts +161 -161
  178. package/src/programmers/internal/application_v30_tuple.ts +33 -33
  179. package/src/programmers/internal/application_v31_alias.ts +41 -41
  180. package/src/programmers/internal/application_v31_constant.ts +29 -29
  181. package/src/programmers/internal/application_v31_native.ts +24 -24
  182. package/src/programmers/internal/application_v31_object.ts +130 -130
  183. package/src/programmers/internal/application_v31_schema.ts +159 -159
  184. package/src/programmers/internal/application_v31_tuple.ts +21 -21
  185. package/src/programmers/internal/check_array_length.ts +45 -45
  186. package/src/programmers/internal/check_bigint.ts +49 -49
  187. package/src/programmers/internal/check_dynamic_key.ts +174 -174
  188. package/src/programmers/internal/check_dynamic_properties.ts +211 -211
  189. package/src/programmers/internal/check_everything.ts +23 -23
  190. package/src/programmers/internal/check_native.ts +21 -21
  191. package/src/programmers/internal/check_number.ts +107 -107
  192. package/src/programmers/internal/check_object.ts +61 -61
  193. package/src/programmers/internal/check_string.ts +48 -48
  194. package/src/programmers/internal/check_template.ts +46 -46
  195. package/src/programmers/internal/check_union_array_like.ts +307 -307
  196. package/src/programmers/internal/decode_union_object.ts +99 -99
  197. package/src/programmers/internal/feature_object_entries.ts +58 -58
  198. package/src/programmers/internal/llm_schema_array.ts +22 -22
  199. package/src/programmers/internal/llm_schema_escaped.ts +61 -61
  200. package/src/programmers/internal/llm_schema_native.ts +17 -17
  201. package/src/programmers/internal/llm_schema_object.ts +129 -129
  202. package/src/programmers/internal/llm_schema_station.ts +185 -185
  203. package/src/programmers/internal/llm_schema_tuple.ts +31 -31
  204. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  205. package/src/programmers/internal/postfix_of_tuple.ts +2 -2
  206. package/src/programmers/internal/prune_object_properties.ts +60 -60
  207. package/src/programmers/internal/random_custom.ts +37 -37
  208. package/src/programmers/internal/stringify_dynamic_properties.ts +157 -157
  209. package/src/programmers/internal/stringify_native.ts +7 -7
  210. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  211. package/src/programmers/internal/template_to_pattern.ts +15 -15
  212. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +20 -20
  213. package/src/programmers/json/JsonApplicationProgrammer.ts +82 -82
  214. package/src/programmers/json/JsonAssertParseProgrammer.ts +96 -96
  215. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +104 -104
  216. package/src/programmers/json/JsonIsParseProgrammer.ts +110 -110
  217. package/src/programmers/json/JsonIsStringifyProgrammer.ts +102 -102
  218. package/src/programmers/json/JsonStringifyProgrammer.ts +909 -909
  219. package/src/programmers/json/JsonValidateParseProgrammer.ts +87 -87
  220. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +111 -111
  221. package/src/programmers/llm/LlmApplicationProgrammer.ts +216 -216
  222. package/src/programmers/llm/LlmSchemaProgrammer.ts +49 -49
  223. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +87 -87
  224. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +105 -105
  225. package/src/programmers/misc/MiscCloneProgrammer.ts +781 -781
  226. package/src/programmers/misc/MiscIsCloneProgrammer.ts +93 -93
  227. package/src/programmers/misc/MiscIsPruneProgrammer.ts +91 -91
  228. package/src/programmers/misc/MiscLiteralsProgrammer.ts +70 -70
  229. package/src/programmers/misc/MiscPruneProgrammer.ts +560 -560
  230. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +104 -104
  231. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +101 -101
  232. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +91 -91
  233. package/src/programmers/notations/NotationGeneralProgrammer.ts +714 -714
  234. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +97 -97
  235. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +110 -110
  236. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +91 -91
  237. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +95 -95
  238. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +646 -646
  239. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +852 -852
  240. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +104 -104
  241. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +93 -93
  242. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +160 -160
  243. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +85 -85
  244. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +109 -109
  245. package/src/protobuf.ts +999 -999
  246. package/src/reflect.ts +63 -63
  247. package/src/schemas/json/IJsonApplication.ts +22 -22
  248. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  249. package/src/schemas/metadata/IMetadata.ts +36 -36
  250. package/src/schemas/metadata/IMetadataAlias.ts +12 -12
  251. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  252. package/src/schemas/metadata/IMetadataArray.ts +7 -7
  253. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  254. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  255. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  256. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  257. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  258. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  259. package/src/schemas/metadata/IMetadataEntry.ts +6 -6
  260. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  261. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  262. package/src/schemas/metadata/IMetadataObject.ts +13 -13
  263. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  264. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  265. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  266. package/src/schemas/metadata/IMetadataTuple.ts +7 -7
  267. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  268. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  269. package/src/schemas/metadata/Metadata.ts +616 -616
  270. package/src/schemas/metadata/MetadataAlias.ts +61 -61
  271. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  272. package/src/schemas/metadata/MetadataArray.ts +49 -49
  273. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  274. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  275. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  276. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  277. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  278. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  279. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  280. package/src/schemas/metadata/MetadataObject.ts +139 -139
  281. package/src/schemas/metadata/MetadataParameter.ts +50 -50
  282. package/src/schemas/metadata/MetadataProperty.ts +56 -56
  283. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  284. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  285. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  286. package/src/tags/Constant.ts +15 -15
  287. package/src/tags/ContentMediaType.ts +10 -10
  288. package/src/tags/Default.ts +22 -22
  289. package/src/tags/ExclusiveMaximum.ts +25 -25
  290. package/src/tags/ExclusiveMinimum.ts +25 -25
  291. package/src/tags/Format.ts +16 -16
  292. package/src/tags/JsonSchemaPlugin.ts +8 -8
  293. package/src/tags/MaxItems.ts +12 -12
  294. package/src/tags/MaxLength.ts +12 -12
  295. package/src/tags/Maximum.ts +19 -19
  296. package/src/tags/MinItems.ts +12 -12
  297. package/src/tags/MinLength.ts +12 -12
  298. package/src/tags/Minimum.ts +19 -19
  299. package/src/tags/MultipleOf.ts +21 -21
  300. package/src/tags/Pattern.ts +31 -31
  301. package/src/tags/TagBase.ts +76 -76
  302. package/src/tags/Type.ts +32 -32
  303. package/src/tags/UniqueItems.ts +14 -14
  304. package/src/tags/index.ts +18 -18
  305. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  306. package/src/transform.ts +35 -35
  307. package/src/transformers/CallExpressionTransformer.ts +508 -508
  308. package/src/transformers/FileTransformer.ts +91 -91
  309. package/src/transformers/IProject.ts +15 -15
  310. package/src/transformers/ITransformOptions.ts +62 -62
  311. package/src/transformers/ImportTransformer.ts +66 -66
  312. package/src/transformers/NodeTransformer.ts +13 -13
  313. package/src/transformers/TransformerError.ts +60 -60
  314. package/src/transformers/features/AssertTransformer.ts +16 -16
  315. package/src/transformers/features/CreateAssertTransformer.ts +16 -16
  316. package/src/transformers/features/CreateIsTransformer.ts +10 -10
  317. package/src/transformers/features/CreateRandomTransformer.ts +40 -40
  318. package/src/transformers/features/CreateValidateTransformer.ts +13 -13
  319. package/src/transformers/features/IsTransformer.ts +10 -10
  320. package/src/transformers/features/RandomTransformer.ts +44 -44
  321. package/src/transformers/features/ValidateTransformer.ts +11 -11
  322. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  323. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +12 -12
  324. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +11 -11
  325. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +9 -9
  326. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +9 -9
  327. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +9 -9
  328. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +9 -9
  329. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +9 -9
  330. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +9 -9
  331. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +9 -9
  332. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +9 -9
  333. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +12 -12
  334. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +12 -12
  335. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +11 -11
  336. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +10 -10
  337. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +9 -9
  338. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +9 -9
  339. package/src/transformers/features/http/HttpFormDataTransformer.ts +9 -9
  340. package/src/transformers/features/http/HttpHeadersTransformer.ts +9 -9
  341. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +9 -9
  342. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +9 -9
  343. package/src/transformers/features/http/HttpIsQueryTransformer.ts +9 -9
  344. package/src/transformers/features/http/HttpParameterTransformer.ts +9 -9
  345. package/src/transformers/features/http/HttpQueryTransformer.ts +9 -9
  346. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +10 -10
  347. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +10 -10
  348. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +9 -9
  349. package/src/transformers/features/json/JsonApplicationTransformer.ts +124 -124
  350. package/src/transformers/features/json/JsonAssertParseTransformer.ts +9 -9
  351. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  352. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +9 -9
  353. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  354. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  355. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +9 -9
  356. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  357. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +11 -11
  358. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  359. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  360. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +9 -9
  361. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  362. package/src/transformers/features/json/JsonValidateParseTransformer.ts +9 -9
  363. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  364. package/src/transformers/features/llm/LlmApplicationTransformer.ts +83 -83
  365. package/src/transformers/features/llm/LlmSchemaTransformer.ts +53 -53
  366. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +9 -9
  367. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +9 -9
  368. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  369. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +9 -9
  370. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +9 -9
  371. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  372. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  373. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  374. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  375. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +11 -11
  376. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +11 -11
  377. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  378. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  379. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +32 -32
  380. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  381. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +9 -9
  382. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +9 -9
  383. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +15 -15
  384. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +15 -15
  385. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +15 -15
  386. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +15 -15
  387. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +15 -15
  388. package/src/transformers/features/notations/NotationGeneralTransformer.ts +11 -11
  389. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +15 -15
  390. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +15 -15
  391. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +10 -10
  392. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +10 -10
  393. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +12 -12
  394. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +12 -12
  395. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +9 -9
  396. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +9 -9
  397. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +9 -9
  398. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +9 -9
  399. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +12 -12
  400. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +12 -12
  401. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +9 -9
  402. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +9 -9
  403. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +9 -9
  404. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +9 -9
  405. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +33 -33
  406. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +10 -10
  407. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +10 -10
  408. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +63 -63
  409. package/src/transformers/features/reflect/ReflectNameTransformer.ts +66 -66
  410. package/src/transformers/internal/GenericTransformer.ts +104 -104
  411. package/src/typings/Atomic.ts +13 -13
  412. package/src/typings/ClassProperties.ts +5 -5
  413. package/src/typings/Customizable.ts +5 -5
  414. package/src/typings/Equal.ts +18 -18
  415. package/src/typings/IsTuple.ts +9 -9
  416. package/src/typings/NativeClass.ts +23 -23
  417. package/src/typings/OmitNever.ts +3 -3
  418. package/src/typings/ProtobufAtomic.ts +19 -19
  419. package/src/typings/SpecialFields.ts +3 -3
  420. package/src/typings/ValidationPipe.ts +9 -9
  421. package/src/typings/ValueOf.ts +20 -20
  422. package/src/typings/Writable.ts +11 -11
  423. package/src/utils/ArrayUtil.ts +41 -41
  424. package/src/utils/Escaper.ts +50 -50
  425. package/src/utils/MapUtil.ts +12 -12
  426. package/src/utils/NameEncoder.ts +32 -32
  427. package/src/utils/NamingConvention/NamingConvention.ts +89 -89
  428. package/src/utils/NamingConvention/index.ts +1 -1
  429. package/src/utils/PatternUtil.ts +29 -29
  430. package/src/utils/RandomGenerator/RandomGenerator.ts +119 -119
  431. package/src/utils/RandomGenerator/index.ts +1 -1
  432. package/src/utils/Singleton.ts +16 -16
  433. package/src/utils/StringUtil/StringUtil.ts +7 -7
  434. package/src/utils/StringUtil/index.ts +1 -1
@@ -1,48 +1,48 @@
1
- import { Resolved } from "../Resolved";
2
-
3
- export const $clone = <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(
35
- [...value].map(([k, v]) => [$cloneMain(k), $cloneMain(v)]),
36
- );
37
- else if (value instanceof WeakSet || value instanceof WeakMap)
38
- throw new Error("WeakSet and WeakMap are not supported");
39
- else if (value.valueOf() !== value) return $cloneMain(value.valueOf());
40
- else
41
- return Object.fromEntries(
42
- Object.entries(value)
43
- .map(([k, v]) => [k, $cloneMain(v)])
44
- .filter(([, v]) => v !== undefined),
45
- );
46
- else if (typeof value === "function") return undefined;
47
- return value;
48
- };
1
+ import { Resolved } from "../Resolved";
2
+
3
+ export const $clone = <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(
35
+ [...value].map(([k, v]) => [$cloneMain(k), $cloneMain(v)]),
36
+ );
37
+ else if (value instanceof WeakSet || value instanceof WeakMap)
38
+ throw new Error("WeakSet and WeakMap are not supported");
39
+ else if (value.valueOf() !== value) return $cloneMain(value.valueOf());
40
+ else
41
+ return Object.fromEntries(
42
+ Object.entries(value)
43
+ .map(([k, v]) => [k, $cloneMain(v)])
44
+ .filter(([, v]) => v !== undefined),
45
+ );
46
+ else if (typeof value === "function") return undefined;
47
+ return value;
48
+ };
@@ -1,37 +1,37 @@
1
- export const $convention = (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 $convention = (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,22 +1,22 @@
1
- import { Customizable } from "../typings/Customizable";
2
-
3
- /**
4
- * @internal
5
- */
6
- const blackhole: any = {};
7
-
8
- export const $dictionary = (() => {
9
- const glob: {
10
- __typia_custom_validator: Map<
11
- `${string}`,
12
- Map<keyof Customizable, (tagText: string) => (value: any) => boolean>
13
- >;
14
- } =
15
- typeof global === "object" &&
16
- typeof global.process === "object" &&
17
- typeof global.process.versions === "object" &&
18
- typeof global.process.versions.node !== "undefined"
19
- ? ((global ?? blackhole) as any)
20
- : ((self ?? blackhole) as any);
21
- return (glob.__typia_custom_validator ??= new Map());
22
- })();
1
+ import { Customizable } from "../typings/Customizable";
2
+
3
+ /**
4
+ * @internal
5
+ */
6
+ const blackhole: any = {};
7
+
8
+ export const $dictionary = (() => {
9
+ const glob: {
10
+ __typia_custom_validator: Map<
11
+ `${string}`,
12
+ Map<keyof Customizable, (tagText: string) => (value: any) => boolean>
13
+ >;
14
+ } =
15
+ typeof global === "object" &&
16
+ typeof global.process === "object" &&
17
+ typeof global.process.versions === "object" &&
18
+ typeof global.process.versions.node !== "undefined"
19
+ ? ((global ?? blackhole) as any)
20
+ : ((self ?? blackhole) as any);
21
+ return (glob.__typia_custom_validator ??= new Map());
22
+ })();
@@ -1,11 +1,11 @@
1
- import { TypeGuardError } from "../TypeGuardError";
2
-
3
- export const $every = <T>(
4
- array: T[],
5
- pred: (value: T, i: number) => null | Omit<TypeGuardError.IProps, "method">,
6
- ): null | Omit<TypeGuardError.IProps, "method"> => {
7
- let error: null | Omit<TypeGuardError.IProps, "method"> = null;
8
- for (let i: number = 0; i < array.length; ++i)
9
- if (null !== (error = pred(array[i]!, i))) return error;
10
- return null;
11
- };
1
+ import { TypeGuardError } from "../TypeGuardError";
2
+
3
+ export const $every = <T>(
4
+ array: T[],
5
+ pred: (value: T, i: number) => null | Omit<TypeGuardError.IProps, "method">,
6
+ ): null | Omit<TypeGuardError.IProps, "method"> => {
7
+ let error: null | Omit<TypeGuardError.IProps, "method"> = null;
8
+ for (let i: number = 0; i < array.length; ++i)
9
+ if (null !== (error = pred(array[i]!, i))) return error;
10
+ return null;
11
+ };
@@ -1,21 +1,21 @@
1
- import { TypeGuardError } from "../TypeGuardError";
2
-
3
- /**
4
- * @internal
5
- */
6
- export const $guard =
7
- (method: string) =>
8
- (
9
- exceptionable: boolean,
10
- props: Omit<TypeGuardError.IProps, "method">,
11
- factory?: (props: TypeGuardError.IProps) => Error,
12
- ): boolean => {
13
- if (exceptionable === true)
14
- throw (factory ?? ((props) => new TypeGuardError(props)))({
15
- method,
16
- path: props.path,
17
- expected: props.expected,
18
- value: props.value,
19
- });
20
- return false;
21
- };
1
+ import { TypeGuardError } from "../TypeGuardError";
2
+
3
+ /**
4
+ * @internal
5
+ */
6
+ export const $guard =
7
+ (method: string) =>
8
+ (
9
+ exceptionable: boolean,
10
+ props: Omit<TypeGuardError.IProps, "method">,
11
+ factory?: (props: TypeGuardError.IProps) => Error,
12
+ ): boolean => {
13
+ if (exceptionable === true)
14
+ throw (factory ?? ((props) => new TypeGuardError(props)))({
15
+ method,
16
+ path: props.path,
17
+ expected: props.expected,
18
+ value: props.value,
19
+ });
20
+ return false;
21
+ };
@@ -1,2 +1,2 @@
1
- export const $is_between = (value: number, minimum: number, maximum: number) =>
2
- minimum <= value && value <= maximum;
1
+ export const $is_between = (value: number, minimum: number, maximum: number) =>
2
+ minimum <= value && value <= maximum;
@@ -1,46 +1,46 @@
1
- export const $join = (str: string): string =>
2
- variable(str) ? `.${str}` : `[${JSON.stringify(str)}]`;
3
-
4
- const variable = (str: string): boolean =>
5
- reserved(str) === false && /^[a-zA-Z_$][a-zA-Z_$0-9]*$/g.test(str);
6
-
7
- const reserved = (str: string): boolean => RESERVED.has(str);
8
-
9
- const RESERVED: Set<string> = new Set([
10
- "break",
11
- "case",
12
- "catch",
13
- "class",
14
- "const",
15
- "continue",
16
- "debugger",
17
- "default",
18
- "delete",
19
- "do",
20
- "else",
21
- "enum",
22
- "export",
23
- "extends",
24
- "false",
25
- "finally",
26
- "for",
27
- "function",
28
- "if",
29
- "import",
30
- "in",
31
- "instanceof",
32
- "new",
33
- "null",
34
- "return",
35
- "super",
36
- "switch",
37
- "this",
38
- "throw",
39
- "true",
40
- "try",
41
- "typeof",
42
- "var",
43
- "void",
44
- "while",
45
- "with",
46
- ]);
1
+ export const $join = (str: string): string =>
2
+ variable(str) ? `.${str}` : `[${JSON.stringify(str)}]`;
3
+
4
+ const variable = (str: string): boolean =>
5
+ reserved(str) === false && /^[a-zA-Z_$][a-zA-Z_$0-9]*$/g.test(str);
6
+
7
+ const reserved = (str: string): boolean => RESERVED.has(str);
8
+
9
+ const RESERVED: Set<string> = new Set([
10
+ "break",
11
+ "case",
12
+ "catch",
13
+ "class",
14
+ "const",
15
+ "continue",
16
+ "debugger",
17
+ "default",
18
+ "delete",
19
+ "do",
20
+ "else",
21
+ "enum",
22
+ "export",
23
+ "extends",
24
+ "false",
25
+ "finally",
26
+ "for",
27
+ "function",
28
+ "if",
29
+ "import",
30
+ "in",
31
+ "instanceof",
32
+ "new",
33
+ "null",
34
+ "return",
35
+ "super",
36
+ "switch",
37
+ "this",
38
+ "throw",
39
+ "true",
40
+ "try",
41
+ "typeof",
42
+ "var",
43
+ "void",
44
+ "while",
45
+ "with",
46
+ ]);
@@ -1,12 +1,12 @@
1
- import { TypeGuardError } from "../TypeGuardError";
2
-
3
- export const $number = (value: number): number => {
4
- if (isFinite(value) === false)
5
- throw new TypeGuardError({
6
- method: "typia.json.stringify",
7
- expected: "number",
8
- value,
9
- message: "Error on typia.json.stringify(): infinite or not a number.",
10
- });
11
- return value;
12
- };
1
+ import { TypeGuardError } from "../TypeGuardError";
2
+
3
+ export const $number = (value: number): number => {
4
+ if (isFinite(value) === false)
5
+ throw new TypeGuardError({
6
+ method: "typia.json.stringify",
7
+ expected: "number",
8
+ value,
9
+ message: "Error on typia.json.stringify(): infinite or not a number.",
10
+ });
11
+ return value;
12
+ };
@@ -1,13 +1,13 @@
1
- import { IValidation } from "../IValidation";
2
-
3
- export const $report = (array: IValidation.IError[]) => {
4
- const reportable = (path: string): boolean => {
5
- if (array.length === 0) return true;
6
- const last: string = array[array.length - 1]!.path;
7
- return path.length > last.length || last.substring(0, path.length) !== path;
8
- };
9
- return (exceptable: boolean, error: IValidation.IError): false => {
10
- if (exceptable && reportable(error.path)) array.push(error);
11
- return false;
12
- };
13
- };
1
+ import { IValidation } from "../IValidation";
2
+
3
+ export const $report = (array: IValidation.IError[]) => {
4
+ const reportable = (path: string): boolean => {
5
+ if (array.length === 0) return true;
6
+ const last: string = array[array.length - 1]!.path;
7
+ return path.length > last.length || last.substring(0, path.length) !== path;
8
+ };
9
+ return (exceptable: boolean, error: IValidation.IError): false => {
10
+ if (exceptable && reportable(error.path)) array.push(error);
11
+ return false;
12
+ };
13
+ };
@@ -1,3 +1,3 @@
1
- export const $rest = (str: string): string => {
2
- return str.length === 2 ? "" : "," + str.substring(1, str.length - 1);
3
- };
1
+ export const $rest = (str: string): string => {
2
+ return str.length === 2 ? "" : "," + str.substring(1, str.length - 1);
3
+ };
@@ -1,8 +1,8 @@
1
- export const $is_bigint_string = (str: string): boolean => {
2
- try {
3
- BigInt(str);
4
- return true;
5
- } catch {
6
- return false;
7
- }
8
- };
1
+ export const $is_bigint_string = (str: string): boolean => {
2
+ try {
3
+ BigInt(str);
4
+ return true;
5
+ } catch {
6
+ return false;
7
+ }
8
+ };
@@ -1,43 +1,43 @@
1
- /**
2
- * In the past, name of `typia` was `typescript-json`, and supported
3
- * JSON serialization by wrapping `fast-json-stringify. `typescript-json` was
4
- * a helper library of `fast-json-stringify`, which can skip manual JSON schema
5
- * definition just by putting pure TypeScript type.
6
- *
7
- * This `$string` function is a part of `fast-json-stringify` at that time, and
8
- * still being used in `typia` for the string serialization.
9
- *
10
- * @internal
11
- * @reference https://github.com/fastify/fast-json-stringify/blob/master/lib/serializer.js
12
- * @blog https://dev.to/samchon/good-bye-typescript-is-ancestor-of-typia-20000x-faster-validator-49fi
13
- */
14
- export const $string = (str: string): string => {
15
- const len = str.length;
16
- let result = "";
17
- let last = -1;
18
- let point = 255;
19
-
20
- // eslint-disable-next-line
21
- for (var i = 0; i < len; i++) {
22
- point = str.charCodeAt(i);
23
- if (point < 32) {
24
- return JSON.stringify(str);
25
- }
26
- if (point >= 0xd800 && point <= 0xdfff) {
27
- // The current character is a surrogate.
28
- return JSON.stringify(str);
29
- }
30
- if (
31
- point === 0x22 || // '"'
32
- point === 0x5c // '\'
33
- ) {
34
- last === -1 && (last = 0);
35
- result += str.slice(last, i) + "\\";
36
- last = i;
37
- }
38
- }
39
-
40
- return (
41
- (last === -1 && '"' + str + '"') || '"' + result + str.slice(last) + '"'
42
- );
43
- };
1
+ /**
2
+ * In the past, name of `typia` was `typescript-json`, and supported
3
+ * JSON serialization by wrapping `fast-json-stringify. `typescript-json` was
4
+ * a helper library of `fast-json-stringify`, which can skip manual JSON schema
5
+ * definition just by putting pure TypeScript type.
6
+ *
7
+ * This `$string` function is a part of `fast-json-stringify` at that time, and
8
+ * still being used in `typia` for the string serialization.
9
+ *
10
+ * @internal
11
+ * @reference https://github.com/fastify/fast-json-stringify/blob/master/lib/serializer.js
12
+ * @blog https://dev.to/samchon/good-bye-typescript-is-ancestor-of-typia-20000x-faster-validator-49fi
13
+ */
14
+ export const $string = (str: string): string => {
15
+ const len = str.length;
16
+ let result = "";
17
+ let last = -1;
18
+ let point = 255;
19
+
20
+ // eslint-disable-next-line
21
+ for (var i = 0; i < len; i++) {
22
+ point = str.charCodeAt(i);
23
+ if (point < 32) {
24
+ return JSON.stringify(str);
25
+ }
26
+ if (point >= 0xd800 && point <= 0xdfff) {
27
+ // The current character is a surrogate.
28
+ return JSON.stringify(str);
29
+ }
30
+ if (
31
+ point === 0x22 || // '"'
32
+ point === 0x5c // '\'
33
+ ) {
34
+ last === -1 && (last = 0);
35
+ result += str.slice(last, i) + "\\";
36
+ last = i;
37
+ }
38
+ }
39
+
40
+ return (
41
+ (last === -1 && '"' + str + '"') || '"' + result + str.slice(last) + '"'
42
+ );
43
+ };
@@ -1,7 +1,7 @@
1
- export const $strlen = (s: string): number => {
2
- let b: number;
3
- let i: number;
4
- let c: number;
5
- for (b = i = 0; (c = s.charCodeAt(i++)); b += c >> 11 ? 3 : c >> 7 ? 2 : 1);
6
- return b;
7
- };
1
+ export const $strlen = (s: string): number => {
2
+ let b: number;
3
+ let i: number;
4
+ let c: number;
5
+ for (b = i = 0; (c = s.charCodeAt(i++)); b += c >> 11 ? 3 : c >> 7 ? 2 : 1);
6
+ return b;
7
+ };
@@ -1,5 +1,5 @@
1
- /**
2
- * @internal
3
- */
4
- export const $tail = (str: string): string =>
5
- str[str.length - 1] === "," ? str.substring(0, str.length - 1) : str;
1
+ /**
2
+ * @internal
3
+ */
4
+ export const $tail = (str: string): string =>
5
+ str[str.length - 1] === "," ? str.substring(0, str.length - 1) : str;
@@ -1,10 +1,10 @@
1
- import { TypeGuardError } from "../TypeGuardError";
2
-
3
- export const $throws =
4
- (method: string) =>
5
- (props: Pick<TypeGuardError.IProps, "expected" | "value">) => {
6
- throw new TypeGuardError({
7
- ...props,
8
- method: `typia.${method}`,
9
- });
10
- };
1
+ import { TypeGuardError } from "../TypeGuardError";
2
+
3
+ export const $throws =
4
+ (method: string) =>
5
+ (props: Pick<TypeGuardError.IProps, "expected" | "value">) => {
6
+ throw new TypeGuardError({
7
+ ...props,
8
+ method: `typia.${method}`,
9
+ });
10
+ };