typia 7.1.0 → 7.2.1-dev.20241212

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