typia 8.0.3 → 8.1.0

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