typia 7.6.2-dev.20250205 → 7.6.3

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