typia 8.2.0 → 9.0.0-dev.20250405-3

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