typia 7.0.2 → 7.1.0-dev.20241209

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