typia 8.2.0 → 9.0.0-dev.20250405

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