typia 8.0.1 → 8.0.2-dev.20250315

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