typia 9.0.1 → 9.1.0-dev.20250408

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 (574) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +149 -149
  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/functional.js +19 -27
  8. package/lib/functional.js.map +1 -1
  9. package/lib/functional.mjs +20 -27
  10. package/lib/http.js +27 -32
  11. package/lib/http.js.map +1 -1
  12. package/lib/http.mjs +28 -32
  13. package/lib/json.d.mts +66 -4
  14. package/lib/json.d.ts +66 -4
  15. package/lib/json.js +23 -21
  16. package/lib/json.js.map +1 -1
  17. package/lib/json.mjs +24 -22
  18. package/lib/llm.js +4 -9
  19. package/lib/llm.js.map +1 -1
  20. package/lib/llm.mjs +5 -9
  21. package/lib/misc.js +27 -23
  22. package/lib/misc.js.map +1 -1
  23. package/lib/misc.mjs +28 -23
  24. package/lib/module.d.mts +1 -0
  25. package/lib/module.d.ts +1 -0
  26. package/lib/module.js +20 -24
  27. package/lib/module.js.map +1 -1
  28. package/lib/module.mjs +19 -24
  29. package/lib/notations.js +25 -30
  30. package/lib/notations.js.map +1 -1
  31. package/lib/notations.mjs +26 -30
  32. package/lib/programmers/json/JsonSchemaProgrammer.d.mts +9 -0
  33. package/lib/programmers/json/JsonSchemaProgrammer.d.ts +9 -0
  34. package/lib/programmers/json/JsonSchemaProgrammer.js +20 -0
  35. package/lib/programmers/json/JsonSchemaProgrammer.js.map +1 -0
  36. package/lib/programmers/json/JsonSchemaProgrammer.mjs +20 -0
  37. package/lib/programmers/json/JsonSchemaProgrammer.mjs.map +1 -0
  38. package/lib/programmers/json/JsonSchemasProgrammer.js +1 -1
  39. package/lib/programmers/json/JsonSchemasProgrammer.js.map +1 -1
  40. package/lib/programmers/json/JsonSchemasProgrammer.mjs +1 -1
  41. package/lib/protobuf.js +18 -23
  42. package/lib/protobuf.js.map +1 -1
  43. package/lib/protobuf.mjs +19 -23
  44. package/lib/reflect.js +3 -8
  45. package/lib/reflect.js.map +1 -1
  46. package/lib/reflect.mjs +4 -8
  47. package/lib/schemas/json/IJsonSchemaUnit.d.mts +26 -0
  48. package/lib/schemas/json/IJsonSchemaUnit.d.ts +26 -0
  49. package/lib/schemas/json/IJsonSchemaUnit.js +3 -0
  50. package/lib/schemas/json/IJsonSchemaUnit.js.map +1 -0
  51. package/lib/schemas/json/IJsonSchemaUnit.mjs +2 -0
  52. package/lib/schemas/json/IJsonSchemaUnit.mjs.map +1 -0
  53. package/lib/transformers/CallExpressionTransformer.js +2 -2
  54. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  55. package/lib/transformers/CallExpressionTransformer.mjs +2 -2
  56. package/lib/transformers/NoTransformConfigurationError.d.mts +1 -0
  57. package/lib/transformers/NoTransformConfigurationError.d.ts +1 -0
  58. package/lib/transformers/NoTransformConfigurationError.js +20 -0
  59. package/lib/transformers/NoTransformConfigurationError.js.map +1 -0
  60. package/lib/transformers/NoTransformConfigurationError.mjs +19 -0
  61. package/lib/transformers/NoTransformConfigurationError.mjs.map +1 -0
  62. package/lib/transformers/features/json/JsonSchemaTransformer.d.mts +5 -0
  63. package/lib/transformers/features/json/JsonSchemaTransformer.d.ts +5 -0
  64. package/lib/transformers/features/json/JsonSchemaTransformer.js +108 -0
  65. package/lib/transformers/features/json/JsonSchemaTransformer.js.map +1 -0
  66. package/lib/transformers/features/json/JsonSchemaTransformer.mjs +104 -0
  67. package/lib/transformers/features/json/JsonSchemaTransformer.mjs.map +1 -0
  68. package/lib/transformers/features/json/JsonSchemasTransformer.js +9 -9
  69. package/lib/transformers/features/json/JsonSchemasTransformer.js.map +1 -1
  70. package/lib/transformers/features/json/JsonSchemasTransformer.mjs +9 -9
  71. package/package.json +1 -1
  72. package/src/AssertionGuard.ts +1 -1
  73. package/src/CamelCase.ts +75 -75
  74. package/src/IRandomGenerator.ts +49 -49
  75. package/src/IReadableURLSearchParams.ts +9 -9
  76. package/src/IValidation.ts +1 -1
  77. package/src/PascalCase.ts +71 -71
  78. package/src/Primitive.ts +92 -92
  79. package/src/Resolved.ts +74 -74
  80. package/src/SnakeCase.ts +126 -126
  81. package/src/TypeGuardError.ts +37 -37
  82. package/src/executable/TypiaGenerateWizard.ts +83 -83
  83. package/src/executable/TypiaPatchWizard.ts +45 -45
  84. package/src/executable/TypiaSetupWizard.ts +171 -171
  85. package/src/executable/setup/ArgumentParser.ts +42 -42
  86. package/src/executable/setup/CommandExecutor.ts +8 -8
  87. package/src/executable/setup/FileRetriever.ts +19 -19
  88. package/src/executable/setup/PackageManager.ts +87 -87
  89. package/src/executable/setup/PluginConfigurator.ts +69 -69
  90. package/src/executable/typia.ts +55 -55
  91. package/src/factories/CommentFactory.ts +79 -79
  92. package/src/factories/ExpressionFactory.ts +216 -216
  93. package/src/factories/IdentifierFactory.ts +89 -89
  94. package/src/factories/JsonMetadataFactory.ts +83 -83
  95. package/src/factories/LiteralFactory.ts +52 -52
  96. package/src/factories/MetadataCollection.ts +278 -278
  97. package/src/factories/MetadataCommentTagFactory.ts +648 -648
  98. package/src/factories/MetadataFactory.ts +404 -404
  99. package/src/factories/MetadataTypeTagFactory.ts +413 -413
  100. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  101. package/src/factories/NumericRangeFactory.ts +72 -72
  102. package/src/factories/ProtobufFactory.ts +875 -875
  103. package/src/factories/StatementFactory.ts +90 -90
  104. package/src/factories/TemplateFactory.ts +64 -64
  105. package/src/factories/TypeFactory.ts +140 -140
  106. package/src/factories/ValueFactory.ts +12 -12
  107. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +17 -17
  108. package/src/factories/internal/metadata/MetadataHelper.ts +21 -21
  109. package/src/factories/internal/metadata/emend_metadata_atomics.ts +45 -45
  110. package/src/factories/internal/metadata/emplace_metadata_alias.ts +33 -33
  111. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  112. package/src/factories/internal/metadata/emplace_metadata_object.ts +212 -212
  113. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +57 -57
  114. package/src/factories/internal/metadata/explore_metadata.ts +31 -31
  115. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  116. package/src/factories/internal/metadata/iterate_metadata_alias.ts +33 -33
  117. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  118. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  119. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  120. package/src/factories/internal/metadata/iterate_metadata_collection.ts +146 -146
  121. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  122. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  123. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  124. package/src/factories/internal/metadata/iterate_metadata_function.ts +91 -91
  125. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +212 -212
  126. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  127. package/src/factories/internal/metadata/iterate_metadata_native.ts +255 -255
  128. package/src/factories/internal/metadata/iterate_metadata_object.ts +35 -35
  129. package/src/factories/internal/metadata/iterate_metadata_set.ts +57 -57
  130. package/src/factories/internal/metadata/iterate_metadata_sort.ts +87 -87
  131. package/src/factories/internal/metadata/iterate_metadata_template.ts +41 -41
  132. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  133. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  134. package/src/functional.ts +740 -750
  135. package/src/http.ts +1040 -1047
  136. package/src/index.ts +4 -4
  137. package/src/internal/_IProtobufWriter.ts +18 -18
  138. package/src/internal/_ProtobufReader.ts +194 -194
  139. package/src/internal/_ProtobufSizer.ts +145 -145
  140. package/src/internal/_ProtobufWriter.ts +145 -145
  141. package/src/internal/_accessExpressionAsString.ts +46 -46
  142. package/src/internal/_assertGuard.ts +13 -13
  143. package/src/internal/_functionalTypeGuardErrorFactory.ts +4 -4
  144. package/src/internal/_httpFormDataReadArray.ts +4 -4
  145. package/src/internal/_httpFormDataReadBigint.ts +18 -18
  146. package/src/internal/_httpFormDataReadBlob.ts +10 -10
  147. package/src/internal/_httpFormDataReadBoolean.ts +16 -16
  148. package/src/internal/_httpFormDataReadFile.ts +10 -10
  149. package/src/internal/_httpFormDataReadNumber.ts +15 -15
  150. package/src/internal/_httpFormDataReadString.ts +10 -10
  151. package/src/internal/_httpHeaderReadBigint.ts +10 -10
  152. package/src/internal/_httpHeaderReadBoolean.ts +8 -8
  153. package/src/internal/_httpHeaderReadNumber.ts +7 -7
  154. package/src/internal/_httpParameterReadBigint.ts +10 -10
  155. package/src/internal/_httpParameterReadBoolean.ts +8 -8
  156. package/src/internal/_httpParameterReadNumber.ts +7 -7
  157. package/src/internal/_httpParameterReadString.ts +2 -2
  158. package/src/internal/_httpQueryParseURLSearchParams.ts +12 -12
  159. package/src/internal/_httpQueryReadArray.ts +4 -4
  160. package/src/internal/_httpQueryReadBigint.ts +12 -12
  161. package/src/internal/_httpQueryReadBoolean.ts +14 -14
  162. package/src/internal/_httpQueryReadNumber.ts +9 -9
  163. package/src/internal/_httpQueryReadString.ts +4 -4
  164. package/src/internal/_isBetween.ts +2 -2
  165. package/src/internal/_isBigintString.ts +8 -8
  166. package/src/internal/_isFormatByte.ts +7 -7
  167. package/src/internal/_isFormatDate.ts +3 -3
  168. package/src/internal/_isFormatDateTime.ts +4 -4
  169. package/src/internal/_isFormatDuration.ts +4 -4
  170. package/src/internal/_isFormatEmail.ts +4 -4
  171. package/src/internal/_isFormatHostname.ts +4 -4
  172. package/src/internal/_isFormatIdnEmail.ts +4 -4
  173. package/src/internal/_isFormatIdnHostname.ts +4 -4
  174. package/src/internal/_isFormatIpv4.ts +4 -4
  175. package/src/internal/_isFormatIpv6.ts +4 -4
  176. package/src/internal/_isFormatIri.ts +3 -3
  177. package/src/internal/_isFormatIriReference.ts +4 -4
  178. package/src/internal/_isFormatJsonPointer.ts +3 -3
  179. package/src/internal/_isFormatPassword.ts +1 -1
  180. package/src/internal/_isFormatRegex.ts +8 -8
  181. package/src/internal/_isFormatRelativeJsonPointer.ts +4 -4
  182. package/src/internal/_isFormatTime.ts +4 -4
  183. package/src/internal/_isFormatUri.ts +6 -6
  184. package/src/internal/_isFormatUriReference.ts +5 -5
  185. package/src/internal/_isFormatUriTemplate.ts +4 -4
  186. package/src/internal/_isFormatUrl.ts +4 -4
  187. package/src/internal/_isFormatUuid.ts +3 -3
  188. package/src/internal/_isTypeFloat.ts +5 -5
  189. package/src/internal/_isTypeInt32.ts +5 -5
  190. package/src/internal/_isTypeInt64.ts +5 -5
  191. package/src/internal/_isTypeUint32.ts +5 -5
  192. package/src/internal/_isTypeUint64.ts +5 -5
  193. package/src/internal/_isUniqueItems.ts +159 -159
  194. package/src/internal/_jsonStringifyNumber.ts +12 -12
  195. package/src/internal/_jsonStringifyRest.ts +3 -3
  196. package/src/internal/_jsonStringifyString.ts +42 -42
  197. package/src/internal/_jsonStringifyTail.ts +2 -2
  198. package/src/internal/_llmApplicationFinalize.ts +20 -20
  199. package/src/internal/_miscCloneAny.ts +46 -46
  200. package/src/internal/_notationAny.ts +37 -37
  201. package/src/internal/_notationCamel.ts +13 -13
  202. package/src/internal/_notationPascal.ts +8 -8
  203. package/src/internal/_notationSnake.ts +43 -43
  204. package/src/internal/_randomArray.ts +21 -21
  205. package/src/internal/_randomBigint.ts +6 -6
  206. package/src/internal/_randomBoolean.ts +1 -1
  207. package/src/internal/_randomFormatByte.ts +3 -3
  208. package/src/internal/_randomFormatDate.ts +18 -18
  209. package/src/internal/_randomFormatDatetime.ts +16 -16
  210. package/src/internal/_randomFormatDuration.ts +27 -27
  211. package/src/internal/_randomFormatEmail.ts +11 -11
  212. package/src/internal/_randomFormatHostname.ts +6 -6
  213. package/src/internal/_randomFormatIdnEmail.ts +3 -3
  214. package/src/internal/_randomFormatIdnHostname.ts +3 -3
  215. package/src/internal/_randomFormatIpv4.ts +11 -11
  216. package/src/internal/_randomFormatIpv6.ts +11 -11
  217. package/src/internal/_randomFormatIri.ts +3 -3
  218. package/src/internal/_randomFormatIriReference.ts +3 -3
  219. package/src/internal/_randomFormatJsonPointer.ts +7 -7
  220. package/src/internal/_randomFormatPassword.ts +8 -8
  221. package/src/internal/_randomFormatRegex.ts +4 -4
  222. package/src/internal/_randomFormatRelativeJsonPointer.ts +8 -8
  223. package/src/internal/_randomFormatTime.ts +14 -14
  224. package/src/internal/_randomFormatUri.ts +3 -3
  225. package/src/internal/_randomFormatUriReference.ts +3 -3
  226. package/src/internal/_randomFormatUriTemplate.ts +3 -3
  227. package/src/internal/_randomFormatUrl.ts +11 -11
  228. package/src/internal/_randomFormatUuid.ts +6 -6
  229. package/src/internal/_randomInteger.ts +53 -53
  230. package/src/internal/_randomNumber.ts +80 -80
  231. package/src/internal/_randomPattern.ts +10 -10
  232. package/src/internal/_randomPick.ts +9 -9
  233. package/src/internal/_randomString.ts +24 -24
  234. package/src/internal/_throwTypeGuardError.ts +5 -5
  235. package/src/internal/_validateReport.ts +13 -13
  236. package/src/internal/private/__notationCapitalize.ts +2 -2
  237. package/src/internal/private/__notationUnsnake.ts +24 -24
  238. package/src/json.ts +696 -696
  239. package/src/llm.ts +335 -342
  240. package/src/misc.ts +651 -658
  241. package/src/module.ts +929 -935
  242. package/src/notations.ts +820 -827
  243. package/src/programmers/AssertProgrammer.ts +454 -454
  244. package/src/programmers/CheckerProgrammer.ts +1617 -1617
  245. package/src/programmers/FeatureProgrammer.ts +622 -622
  246. package/src/programmers/ImportProgrammer.ts +185 -185
  247. package/src/programmers/IsProgrammer.ts +273 -273
  248. package/src/programmers/RandomProgrammer.ts +1190 -1190
  249. package/src/programmers/TypiaProgrammer.ts +175 -175
  250. package/src/programmers/ValidateProgrammer.ts +439 -439
  251. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  252. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  253. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  254. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  255. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  256. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  257. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -119
  258. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -274
  259. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -135
  260. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  261. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  262. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  263. package/src/programmers/helpers/FunctionProgrammer.ts +67 -67
  264. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  265. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  266. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  267. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  268. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  269. package/src/programmers/helpers/ProtobufUtil.ts +228 -228
  270. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  271. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  272. package/src/programmers/helpers/RandomJoiner.ts +168 -168
  273. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  274. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  275. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  276. package/src/programmers/helpers/UnionPredicator.ts +79 -79
  277. package/src/programmers/helpers/disable_function_programmer_declare.ts +32 -32
  278. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -99
  279. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -99
  280. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -105
  281. package/src/programmers/http/HttpFormDataProgrammer.ts +308 -308
  282. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -400
  283. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  284. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  285. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  286. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  287. package/src/programmers/http/HttpQueryProgrammer.ts +336 -336
  288. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -92
  289. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -92
  290. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -98
  291. package/src/programmers/internal/check_array_length.ts +47 -47
  292. package/src/programmers/internal/check_bigint.ts +50 -50
  293. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  294. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  295. package/src/programmers/internal/check_everything.ts +23 -23
  296. package/src/programmers/internal/check_native.ts +27 -27
  297. package/src/programmers/internal/check_number.ts +112 -112
  298. package/src/programmers/internal/check_object.ts +75 -75
  299. package/src/programmers/internal/check_string.ts +50 -50
  300. package/src/programmers/internal/check_template.ts +48 -48
  301. package/src/programmers/internal/check_union_array_like.ts +335 -335
  302. package/src/programmers/internal/decode_union_object.ts +116 -116
  303. package/src/programmers/internal/feature_object_entries.ts +61 -61
  304. package/src/programmers/internal/json_schema_alias.ts +47 -47
  305. package/src/programmers/internal/json_schema_array.ts +45 -45
  306. package/src/programmers/internal/json_schema_bigint.ts +15 -15
  307. package/src/programmers/internal/json_schema_boolean.ts +15 -15
  308. package/src/programmers/internal/json_schema_constant.ts +26 -26
  309. package/src/programmers/internal/json_schema_description.ts +12 -12
  310. package/src/programmers/internal/json_schema_discriminator.ts +35 -35
  311. package/src/programmers/internal/json_schema_escaped.ts +82 -82
  312. package/src/programmers/internal/json_schema_native.ts +33 -33
  313. package/src/programmers/internal/json_schema_number.ts +15 -15
  314. package/src/programmers/internal/json_schema_object.ts +158 -158
  315. package/src/programmers/internal/json_schema_plugin.ts +18 -18
  316. package/src/programmers/internal/json_schema_station.ts +185 -185
  317. package/src/programmers/internal/json_schema_string.ts +15 -15
  318. package/src/programmers/internal/json_schema_template.ts +55 -55
  319. package/src/programmers/internal/json_schema_title.ts +20 -20
  320. package/src/programmers/internal/json_schema_tuple.ts +35 -35
  321. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  322. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  323. package/src/programmers/internal/prune_object_properties.ts +71 -71
  324. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  325. package/src/programmers/internal/stringify_native.ts +7 -7
  326. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  327. package/src/programmers/internal/template_to_pattern.ts +23 -23
  328. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  329. package/src/programmers/json/JsonApplicationProgrammer.ts +266 -266
  330. package/src/programmers/json/JsonAssertParseProgrammer.ts +113 -113
  331. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -115
  332. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -114
  333. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  334. package/src/programmers/json/JsonSchemaProgrammer.ts +26 -0
  335. package/src/programmers/json/JsonSchemasProgrammer.ts +91 -91
  336. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  337. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -105
  338. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -124
  339. package/src/programmers/llm/LlmApplicationProgrammer.ts +401 -401
  340. package/src/programmers/llm/LlmModelPredicator.ts +127 -127
  341. package/src/programmers/llm/LlmParametersProgrammer.ts +93 -93
  342. package/src/programmers/llm/LlmSchemaProgrammer.ts +192 -192
  343. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -95
  344. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -116
  345. package/src/programmers/misc/MiscCloneProgrammer.ts +1032 -1032
  346. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  347. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  348. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  349. package/src/programmers/misc/MiscPruneProgrammer.ts +728 -728
  350. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -111
  351. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -113
  352. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -101
  353. package/src/programmers/notations/NotationGeneralProgrammer.ts +984 -984
  354. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  355. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -119
  356. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -98
  357. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -102
  358. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +654 -654
  359. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +945 -945
  360. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  361. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  362. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +179 -179
  363. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -92
  364. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -119
  365. package/src/protobuf.ts +861 -868
  366. package/src/reflect.ts +50 -57
  367. package/src/schemas/json/IJsonApplication.ts +73 -73
  368. package/src/schemas/json/IJsonSchemaCollection.ts +29 -29
  369. package/src/schemas/json/IJsonSchemaUnit.ts +32 -0
  370. package/src/schemas/json/__IJsonApplication.ts +63 -63
  371. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  372. package/src/schemas/metadata/IMetadata.ts +35 -35
  373. package/src/schemas/metadata/IMetadataAlias.ts +6 -6
  374. package/src/schemas/metadata/IMetadataAliasType.ts +12 -12
  375. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  376. package/src/schemas/metadata/IMetadataArray.ts +6 -6
  377. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  378. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  379. package/src/schemas/metadata/IMetadataComponents.ts +11 -11
  380. package/src/schemas/metadata/IMetadataConstant.ts +18 -18
  381. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  382. package/src/schemas/metadata/IMetadataDictionary.ts +11 -11
  383. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  384. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  385. package/src/schemas/metadata/IMetadataMap.ts +8 -8
  386. package/src/schemas/metadata/IMetadataNative.ts +6 -6
  387. package/src/schemas/metadata/IMetadataObject.ts +6 -6
  388. package/src/schemas/metadata/IMetadataObjectType.ts +13 -13
  389. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  390. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  391. package/src/schemas/metadata/IMetadataSet.ts +7 -7
  392. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  393. package/src/schemas/metadata/IMetadataTuple.ts +6 -6
  394. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  395. package/src/schemas/metadata/IMetadataTypeTag.ts +16 -16
  396. package/src/schemas/metadata/Metadata.ts +687 -687
  397. package/src/schemas/metadata/MetadataAlias.ts +46 -46
  398. package/src/schemas/metadata/MetadataAliasType.ts +63 -63
  399. package/src/schemas/metadata/MetadataApplication.ts +44 -44
  400. package/src/schemas/metadata/MetadataArray.ts +49 -49
  401. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  402. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  403. package/src/schemas/metadata/MetadataComponents.ts +98 -98
  404. package/src/schemas/metadata/MetadataConstant.ts +34 -34
  405. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  406. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  407. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  408. package/src/schemas/metadata/MetadataMap.ts +48 -48
  409. package/src/schemas/metadata/MetadataNative.ts +44 -44
  410. package/src/schemas/metadata/MetadataObject.ts +48 -48
  411. package/src/schemas/metadata/MetadataObjectType.ts +149 -149
  412. package/src/schemas/metadata/MetadataParameter.ts +54 -54
  413. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  414. package/src/schemas/metadata/MetadataSet.ts +45 -45
  415. package/src/schemas/metadata/MetadataTemplate.ts +80 -80
  416. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  417. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  418. package/src/schemas/protobuf/IProtobufProperty.ts +6 -6
  419. package/src/schemas/protobuf/IProtobufPropertyType.ts +37 -37
  420. package/src/schemas/protobuf/IProtobufSchema.ts +50 -50
  421. package/src/tags/Constant.ts +15 -15
  422. package/src/tags/ContentMediaType.ts +10 -10
  423. package/src/tags/Default.ts +22 -22
  424. package/src/tags/Example.ts +24 -24
  425. package/src/tags/Examples.ts +16 -16
  426. package/src/tags/ExclusiveMaximum.ts +23 -23
  427. package/src/tags/ExclusiveMinimum.ts +23 -23
  428. package/src/tags/Format.ts +50 -50
  429. package/src/tags/JsonSchemaPlugin.ts +8 -8
  430. package/src/tags/MaxItems.ts +12 -12
  431. package/src/tags/MaxLength.ts +12 -12
  432. package/src/tags/Maximum.ts +19 -19
  433. package/src/tags/MinItems.ts +12 -12
  434. package/src/tags/MinLength.ts +12 -12
  435. package/src/tags/Minimum.ts +19 -19
  436. package/src/tags/MultipleOf.ts +21 -21
  437. package/src/tags/Pattern.ts +31 -31
  438. package/src/tags/Sequence.ts +10 -10
  439. package/src/tags/TagBase.ts +82 -82
  440. package/src/tags/Type.ts +37 -37
  441. package/src/tags/UniqueItems.ts +14 -14
  442. package/src/tags/index.ts +21 -21
  443. package/src/tags/internal/FormatCheatSheet.ts +73 -73
  444. package/src/transform.ts +35 -35
  445. package/src/transformers/CallExpressionTransformer.ts +546 -546
  446. package/src/transformers/FileTransformer.ts +136 -136
  447. package/src/transformers/IProgrammerProps.ts +11 -11
  448. package/src/transformers/ITransformOptions.ts +62 -62
  449. package/src/transformers/ITransformProps.ts +9 -9
  450. package/src/transformers/ITypiaContext.ts +18 -18
  451. package/src/transformers/ImportTransformer.ts +81 -81
  452. package/src/transformers/NoTransformConfigurationError.ts +18 -0
  453. package/src/transformers/NodeTransformer.ts +17 -17
  454. package/src/transformers/TransformerError.ts +60 -60
  455. package/src/transformers/features/AssertTransformer.ts +24 -24
  456. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  457. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  458. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  459. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  460. package/src/transformers/features/IsTransformer.ts +18 -18
  461. package/src/transformers/features/RandomTransformer.ts +41 -41
  462. package/src/transformers/features/ValidateTransformer.ts +18 -18
  463. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  464. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  465. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  466. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  467. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  468. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  469. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  470. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  471. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  472. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  473. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  474. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  475. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  476. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  477. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  478. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  479. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  480. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  481. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  482. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  483. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  484. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  485. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  486. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  487. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  488. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  489. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  490. package/src/transformers/features/json/JsonApplicationTransformer.ts +105 -105
  491. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  492. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  493. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  494. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  495. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  496. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  497. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  498. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  499. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  500. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  501. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  502. package/src/transformers/features/json/JsonSchemaTransformer.ts +135 -0
  503. package/src/transformers/features/json/JsonSchemasTransformer.ts +145 -145
  504. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  505. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  506. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  507. package/src/transformers/features/llm/LlmApplicationTransformer.ts +128 -128
  508. package/src/transformers/features/llm/LlmParametersTransformer.ts +102 -102
  509. package/src/transformers/features/llm/LlmSchemaTransformer.ts +170 -170
  510. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  511. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  512. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  513. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  514. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  515. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  516. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  517. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  518. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  519. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  520. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  521. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  522. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  523. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  524. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  525. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  526. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  527. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  528. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  529. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  530. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  531. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  532. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  533. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  534. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  535. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  536. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  537. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  538. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  539. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  540. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  541. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  542. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  543. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  544. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  545. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  546. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  547. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  548. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  549. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  550. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  551. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  552. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  553. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  554. package/src/transformers/internal/GenericTransformer.ts +101 -101
  555. package/src/typings/Atomic.ts +13 -13
  556. package/src/typings/ClassProperties.ts +5 -5
  557. package/src/typings/Customizable.ts +5 -5
  558. package/src/typings/Equal.ts +18 -18
  559. package/src/typings/IsTuple.ts +9 -9
  560. package/src/typings/NativeClass.ts +23 -23
  561. package/src/typings/OmitNever.ts +3 -3
  562. package/src/typings/ProtobufAtomic.ts +19 -19
  563. package/src/typings/SpecialFields.ts +3 -3
  564. package/src/typings/ValidationPipe.ts +9 -9
  565. package/src/typings/ValueOf.ts +20 -20
  566. package/src/typings/Writable.ts +11 -11
  567. package/src/utils/ArrayUtil.ts +41 -41
  568. package/src/utils/Escaper.ts +50 -50
  569. package/src/utils/MapUtil.ts +14 -14
  570. package/src/utils/NamingConvention.ts +94 -94
  571. package/src/utils/PatternUtil.ts +29 -29
  572. package/src/utils/ProtobufNameEncoder.ts +32 -32
  573. package/src/utils/Singleton.ts +16 -16
  574. package/src/utils/StringUtil.ts +16 -16
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2022 Jeongho Nam
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2022 Jeongho Nam
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,149 +1,149 @@
1
- # Typia
2
- ![Typia Logo](https://typia.io/logo.png)
3
-
4
- [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/typia/blob/master/LICENSE)
5
- [![NPM Version](https://img.shields.io/npm/v/typia.svg)](https://www.npmjs.com/package/typia)
6
- [![NPM Downloads](https://img.shields.io/npm/dm/typia.svg)](https://www.npmjs.com/package/typia)
7
- [![Build Status](https://github.com/samchon/typia/workflows/build/badge.svg)](https://github.com/samchon/typia/actions?query=workflow%3Abuild)
8
- [![Guide Documents](https://img.shields.io/badge/Guide-Documents-forestgreen)](https://typia.io/docs/)
9
- [![Gurubase](https://img.shields.io/badge/Gurubase-Document%20Chatbot-006BFF)](https://gurubase.io/g/typia)
10
- [![Discord Badge](https://img.shields.io/badge/discord-samchon-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.gg/E94XhzrUCZ)](https://discord.gg/E94XhzrUCZ)
11
-
12
- ```typescript
13
- // RUNTIME VALIDATORS
14
- export function is<T>(input: unknown): input is T; // returns boolean
15
- export function assert<T>(input: unknown): T; // throws TypeGuardError
16
- export function assertGuard<T>(input: unknown): asserts input is T;
17
- export function validate<T>(input: unknown): IValidation<T>; // detailed
18
-
19
- // JSON FUNCTIONS
20
- export namespace json {
21
- export function application<T>(): IJsonApplication; // JSON schema
22
- export function assertParse<T>(input: string): T; // type safe parser
23
- export function assertStringify<T>(input: T): string; // safe and faster
24
- }
25
-
26
- // LLM FUNCTION CALLING SCHEMA
27
- export namespace llm {
28
- // application schema from a class or interface type
29
- export function application<App, Model>(): ILlmApplication<Model>;
30
- // structured output
31
- export function parameters<P, Model>(): ILlmSchema.IParameters<Model>;
32
- export function schema<T, Model>(): ILlmSchema<Model>; // type schema
33
- }
34
-
35
- // PROTOCOL BUFFER
36
- export namespace protobuf {
37
- export function message<T>(): string; // Protocol Buffer message
38
- export function assertDecode<T>(buffer: Uint8Array): T; // safe decoder
39
- export function assertEncode<T>(input: T): Uint8Array; // safe encoder
40
- }
41
-
42
- // RANDOM GENERATOR
43
- export function random<T>(g?: Partial<IRandomGenerator>): T;
44
- ```
45
-
46
- `typia` is a transformer library supporting below features:
47
-
48
- - Super-fast Runtime Validators
49
- - Enhanced JSON schema and serde functions
50
- - LLM function calling schema and structured output
51
- - Protocol Buffer encoder and decoder
52
- - Random data generator
53
-
54
- > [!NOTE]
55
- >
56
- > - **Only one line** required, with pure TypeScript type
57
- > - Runtime validator is **20,000x faster** than `class-validator`
58
- > - JSON serialization is **200x faster** than `class-transformer`
59
-
60
-
61
-
62
-
63
- ## Transformation
64
- If you call `typia` function, it would be compiled like below.
65
-
66
- This is the key concept of `typia`, transforming TypeScript type to a runtime function. The `typia.is<T>()` function is transformed to a dedicated type checker by analyzing the target type `T` in the compilation level.
67
-
68
- This feature enables developers to ensure type safety in their applications, leveraging TypeScript's static typing while also providing runtime validation. Instead of defining additional schemas, you can simply utilize the pure TypeScript type itself.
69
-
70
- ```typescript
71
- //----
72
- // examples/checkString.ts
73
- //----
74
- import typia, { tags } from "typia";
75
- export const checkString = typia.createIs<string>();
76
-
77
- //----
78
- // examples/checkUUID.js
79
- //----
80
- import typia from "typia";
81
- export const checkString = (() => {
82
- return (input) => "string" === typeof input;
83
- })();
84
- ```
85
-
86
-
87
-
88
- ## Sponsors
89
- Thanks for your support.
90
-
91
- Your donation encourages `typia` development.
92
-
93
- Also, `typia` is re-distributing half of donations to core contributors of `typia`.
94
-
95
- - [`nonara/ts-patch`](https://github.com/nonara/ts-patch)
96
- - [`ryoppippi/unplugin-typia`](https://github.com/ryoppippi/unplugin-typia)
97
-
98
- [![Sponsors](https://opencollective.com/typia/badge.svg?avatarHeight=75&width=600)](https://opencollective.com/typia)
99
-
100
-
101
-
102
-
103
- ## Playground
104
- You can experience how typia works by [playground website](https://typia.io/playground):
105
-
106
- - 💻 https://typia.io/playground
107
-
108
-
109
-
110
-
111
- ## Guide Documents
112
- Check out the document in the [website](https://typia.io/docs/):
113
-
114
- ### 🏠 Home
115
- - [Introduction](https://typia.io/docs/)
116
- - [Setup](https://typia.io/docs/setup/)
117
- - [Pure TypeScript](https://typia.io/docs/pure/)
118
-
119
- ### 📖 Features
120
- - Runtime Validators
121
- - [`assert()` function](https://typia.io/docs/validators/assert/)
122
- - [`is()` function](https://typia.io/docs/validators/is/)
123
- - [`validate()` function](https://typia.io/docs/validators/validate/)
124
- - [Functional Module](https://typia.io/docs/validators/functional)
125
- - [Special Tags](https://typia.io/docs/validators/tags/)
126
- - Enhanced JSON
127
- - [JSON Schema](https://typia.io/docs/json/schema/)
128
- - [`stringify()` functions](https://typia.io/docs/json/stringify/)
129
- - [`parse()` functions](https://typia.io/docs/json/parse/)
130
- - LLM Function Calling
131
- - [`application()` function](https://typia.io/docs/llm/application/)
132
- - [`parameters()` function](https://typia.io/docs/llm/parameters/)
133
- - [`schema()` function](https://typia.io/docs/llm/schema/)
134
- - [AI Chatbot Development](https://typia.io/docs/llm/chat/)
135
- - [Documentation Strategy](https://typia.io/docs/llm/strategy/)
136
- - Protocol Buffer
137
- - [Message Schema](https://typia.io/docs/protobuf/message)
138
- - [`decode()` functions](https://typia.io/docs/protobuf/decode/)
139
- - [`encode()` functions](https://typia.io/docs/protobuf/encode/)
140
- - [Random Generator](https://typia.io/docs/random/)
141
- - [Miscellaneous](https://typia.io/docs/misc/)
142
-
143
- ### 🔗 Appendix
144
- - [API Documents](https://typia.io/api)
145
- - Utillization Cases
146
- - [NestJS](https://typia.io/docs/utilization/nestjs/)
147
- - [tRPC](https://typia.io/docs/utilization/trpc/)
148
- - [⇲ Benchmark Result](https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
149
- - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22474)
1
+ # Typia
2
+ ![Typia Logo](https://typia.io/logo.png)
3
+
4
+ [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/samchon/typia/blob/master/LICENSE)
5
+ [![NPM Version](https://img.shields.io/npm/v/typia.svg)](https://www.npmjs.com/package/typia)
6
+ [![NPM Downloads](https://img.shields.io/npm/dm/typia.svg)](https://www.npmjs.com/package/typia)
7
+ [![Build Status](https://github.com/samchon/typia/workflows/build/badge.svg)](https://github.com/samchon/typia/actions?query=workflow%3Abuild)
8
+ [![Guide Documents](https://img.shields.io/badge/Guide-Documents-forestgreen)](https://typia.io/docs/)
9
+ [![Gurubase](https://img.shields.io/badge/Gurubase-Document%20Chatbot-006BFF)](https://gurubase.io/g/typia)
10
+ [![Discord Badge](https://img.shields.io/badge/discord-samchon-d91965?style=flat&labelColor=5866f2&logo=discord&logoColor=white&link=https://discord.gg/E94XhzrUCZ)](https://discord.gg/E94XhzrUCZ)
11
+
12
+ ```typescript
13
+ // RUNTIME VALIDATORS
14
+ export function is<T>(input: unknown): input is T; // returns boolean
15
+ export function assert<T>(input: unknown): T; // throws TypeGuardError
16
+ export function assertGuard<T>(input: unknown): asserts input is T;
17
+ export function validate<T>(input: unknown): IValidation<T>; // detailed
18
+
19
+ // JSON FUNCTIONS
20
+ export namespace json {
21
+ export function application<T>(): IJsonApplication; // JSON schema
22
+ export function assertParse<T>(input: string): T; // type safe parser
23
+ export function assertStringify<T>(input: T): string; // safe and faster
24
+ }
25
+
26
+ // LLM FUNCTION CALLING SCHEMA
27
+ export namespace llm {
28
+ // application schema from a class or interface type
29
+ export function application<App, Model>(): ILlmApplication<Model>;
30
+ // structured output
31
+ export function parameters<P, Model>(): ILlmSchema.IParameters<Model>;
32
+ export function schema<T, Model>(): ILlmSchema<Model>; // type schema
33
+ }
34
+
35
+ // PROTOCOL BUFFER
36
+ export namespace protobuf {
37
+ export function message<T>(): string; // Protocol Buffer message
38
+ export function assertDecode<T>(buffer: Uint8Array): T; // safe decoder
39
+ export function assertEncode<T>(input: T): Uint8Array; // safe encoder
40
+ }
41
+
42
+ // RANDOM GENERATOR
43
+ export function random<T>(g?: Partial<IRandomGenerator>): T;
44
+ ```
45
+
46
+ `typia` is a transformer library supporting below features:
47
+
48
+ - Super-fast Runtime Validators
49
+ - Enhanced JSON schema and serde functions
50
+ - LLM function calling schema and structured output
51
+ - Protocol Buffer encoder and decoder
52
+ - Random data generator
53
+
54
+ > [!NOTE]
55
+ >
56
+ > - **Only one line** required, with pure TypeScript type
57
+ > - Runtime validator is **20,000x faster** than `class-validator`
58
+ > - JSON serialization is **200x faster** than `class-transformer`
59
+
60
+
61
+
62
+
63
+ ## Transformation
64
+ If you call `typia` function, it would be compiled like below.
65
+
66
+ This is the key concept of `typia`, transforming TypeScript type to a runtime function. The `typia.is<T>()` function is transformed to a dedicated type checker by analyzing the target type `T` in the compilation level.
67
+
68
+ This feature enables developers to ensure type safety in their applications, leveraging TypeScript's static typing while also providing runtime validation. Instead of defining additional schemas, you can simply utilize the pure TypeScript type itself.
69
+
70
+ ```typescript
71
+ //----
72
+ // examples/checkString.ts
73
+ //----
74
+ import typia, { tags } from "typia";
75
+ export const checkString = typia.createIs<string>();
76
+
77
+ //----
78
+ // examples/checkUUID.js
79
+ //----
80
+ import typia from "typia";
81
+ export const checkString = (() => {
82
+ return (input) => "string" === typeof input;
83
+ })();
84
+ ```
85
+
86
+
87
+
88
+ ## Sponsors
89
+ Thanks for your support.
90
+
91
+ Your donation encourages `typia` development.
92
+
93
+ Also, `typia` is re-distributing half of donations to core contributors of `typia`.
94
+
95
+ - [`nonara/ts-patch`](https://github.com/nonara/ts-patch)
96
+ - [`ryoppippi/unplugin-typia`](https://github.com/ryoppippi/unplugin-typia)
97
+
98
+ [![Sponsors](https://opencollective.com/typia/badge.svg?avatarHeight=75&width=600)](https://opencollective.com/typia)
99
+
100
+
101
+
102
+
103
+ ## Playground
104
+ You can experience how typia works by [playground website](https://typia.io/playground):
105
+
106
+ - 💻 https://typia.io/playground
107
+
108
+
109
+
110
+
111
+ ## Guide Documents
112
+ Check out the document in the [website](https://typia.io/docs/):
113
+
114
+ ### 🏠 Home
115
+ - [Introduction](https://typia.io/docs/)
116
+ - [Setup](https://typia.io/docs/setup/)
117
+ - [Pure TypeScript](https://typia.io/docs/pure/)
118
+
119
+ ### 📖 Features
120
+ - Runtime Validators
121
+ - [`assert()` function](https://typia.io/docs/validators/assert/)
122
+ - [`is()` function](https://typia.io/docs/validators/is/)
123
+ - [`validate()` function](https://typia.io/docs/validators/validate/)
124
+ - [Functional Module](https://typia.io/docs/validators/functional)
125
+ - [Special Tags](https://typia.io/docs/validators/tags/)
126
+ - Enhanced JSON
127
+ - [JSON Schema](https://typia.io/docs/json/schema/)
128
+ - [`stringify()` functions](https://typia.io/docs/json/stringify/)
129
+ - [`parse()` functions](https://typia.io/docs/json/parse/)
130
+ - LLM Function Calling
131
+ - [`application()` function](https://typia.io/docs/llm/application/)
132
+ - [`parameters()` function](https://typia.io/docs/llm/parameters/)
133
+ - [`schema()` function](https://typia.io/docs/llm/schema/)
134
+ - [AI Chatbot Development](https://typia.io/docs/llm/chat/)
135
+ - [Documentation Strategy](https://typia.io/docs/llm/strategy/)
136
+ - Protocol Buffer
137
+ - [Message Schema](https://typia.io/docs/protobuf/message)
138
+ - [`decode()` functions](https://typia.io/docs/protobuf/decode/)
139
+ - [`encode()` functions](https://typia.io/docs/protobuf/encode/)
140
+ - [Random Generator](https://typia.io/docs/random/)
141
+ - [Miscellaneous](https://typia.io/docs/misc/)
142
+
143
+ ### 🔗 Appendix
144
+ - [API Documents](https://typia.io/api)
145
+ - Utillization Cases
146
+ - [NestJS](https://typia.io/docs/utilization/nestjs/)
147
+ - [tRPC](https://typia.io/docs/utilization/trpc/)
148
+ - [⇲ Benchmark Result](https://github.com/samchon/typia/tree/master/benchmark/results/11th%20Gen%20Intel(R)%20Core(TM)%20i5-1135G7%20%40%202.40GHz)
149
+ - [⇲ `dev.to` Articles](https://dev.to/samchon/series/22474)
@@ -47,9 +47,9 @@ var PluginConfigurator;
47
47
  if (strict === undefined && strictNullChecks === undefined)
48
48
  compilerOptions.strict = true;
49
49
  if (oldbie === undefined)
50
- plugins.push(comment_json_1.default.parse(`
51
- {
52
- "transform": "typia/lib/transform"
50
+ plugins.push(comment_json_1.default.parse(`
51
+ {
52
+ "transform": "typia/lib/transform"
53
53
  }`));
54
54
  yield fs_1.default.promises.writeFile(args.project, comment_json_1.default.stringify(config, null, 2));
55
55
  });
@@ -32,9 +32,9 @@ var PluginConfigurator;
32
32
  if (strict === undefined && strictNullChecks === undefined)
33
33
  compilerOptions.strict = true;
34
34
  if (oldbie === undefined)
35
- plugins.push(comments.parse(`
36
- {
37
- "transform": "typia/lib/transform"
35
+ plugins.push(comments.parse(`
36
+ {
37
+ "transform": "typia/lib/transform"
38
38
  }`));
39
39
  await fs.promises.writeFile(args.project, comments.stringify(config, null, 2));
40
40
  }
@@ -42,21 +42,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
42
42
  step((generator = generator.apply(thisArg, _arguments || [])).next());
43
43
  });
44
44
  };
45
- const USAGE = `Wrong command has been detected. Use like below:
46
-
47
- npx typia setup \\
48
- --manager (npm|pnpm|yarn) \\
49
- --project {tsconfig.json file path}
50
-
51
- - npx typia setup
52
- - npx typia setup --manager pnpm
53
- - npx typia setup --project tsconfig.test.json
54
-
55
- npx typia generate
56
- --input {directory} \\
57
- --output {directory}
58
-
59
- --npx typia generate --input src/templates --output src/functinoal
45
+ const USAGE = `Wrong command has been detected. Use like below:
46
+
47
+ npx typia setup \\
48
+ --manager (npm|pnpm|yarn) \\
49
+ --project {tsconfig.json file path}
50
+
51
+ - npx typia setup
52
+ - npx typia setup --manager pnpm
53
+ - npx typia setup --project tsconfig.test.json
54
+
55
+ npx typia generate
56
+ --input {directory} \\
57
+ --output {directory}
58
+
59
+ --npx typia generate --input src/templates --output src/functinoal
60
60
  `;
61
61
  const halt = (desc) => {
62
62
  console.error(desc);
@@ -1,19 +1,19 @@
1
1
  #!/usr/bin/env node
2
- const USAGE = `Wrong command has been detected. Use like below:
3
-
4
- npx typia setup \\
5
- --manager (npm|pnpm|yarn) \\
6
- --project {tsconfig.json file path}
7
-
8
- - npx typia setup
9
- - npx typia setup --manager pnpm
10
- - npx typia setup --project tsconfig.test.json
11
-
12
- npx typia generate
13
- --input {directory} \\
14
- --output {directory}
15
-
16
- --npx typia generate --input src/templates --output src/functinoal
2
+ const USAGE = `Wrong command has been detected. Use like below:
3
+
4
+ npx typia setup \\
5
+ --manager (npm|pnpm|yarn) \\
6
+ --project {tsconfig.json file path}
7
+
8
+ - npx typia setup
9
+ - npx typia setup --manager pnpm
10
+ - npx typia setup --project tsconfig.test.json
11
+
12
+ npx typia generate
13
+ --input {directory} \\
14
+ --output {directory}
15
+
16
+ --npx typia generate --input src/templates --output src/functinoal
17
17
  `;
18
18
  const halt = (desc) => {
19
19
  console.error(desc);
package/lib/functional.js CHANGED
@@ -18,121 +18,113 @@ exports.validateReturn = validateReturn;
18
18
  exports.validateEqualsFunction = validateEqualsFunction;
19
19
  exports.validateEqualsParameters = validateEqualsParameters;
20
20
  exports.validateEqualsReturn = validateEqualsReturn;
21
+ const NoTransformConfigurationError_1 = require("./transformers/NoTransformConfigurationError");
21
22
  /**
22
23
  * @internal
23
24
  */
24
25
  function assertFunction() {
25
- halt("assertFunction");
26
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.assertFunction");
26
27
  }
27
28
  /**
28
29
  * @internal
29
30
  */
30
31
  function assertParameters() {
31
- halt("assertParameters");
32
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.assertParameters");
32
33
  }
33
34
  /**
34
35
  * @internal
35
36
  */
36
37
  function assertReturn() {
37
- halt("assertReturn");
38
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.assertReturn");
38
39
  }
39
40
  /**
40
41
  * @internal
41
42
  */
42
43
  function assertEqualsFunction() {
43
- halt("assertEqualsFunction");
44
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.assertEqualsFunction");
44
45
  }
45
46
  /**
46
47
  * @internal
47
48
  */
48
49
  function assertEqualsParameters() {
49
- halt("assertEqualsParameters");
50
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.assertEqualsParameters");
50
51
  }
51
52
  /**
52
53
  * @internal
53
54
  */
54
55
  function assertEqualsReturn() {
55
- halt("assertEqualsReturn");
56
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.assertEqualsReturn");
56
57
  }
57
58
  /**
58
59
  * @internal
59
60
  */
60
61
  function isFunction() {
61
- halt("isFunction");
62
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.isFunction");
62
63
  }
63
64
  /**
64
65
  * @internal
65
66
  */
66
67
  function isParameters() {
67
- halt("isParameters");
68
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.isParameters");
68
69
  }
69
70
  /**
70
71
  * @internal
71
72
  */
72
73
  function isReturn() {
73
- halt("isReturn");
74
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.isReturn");
74
75
  }
75
76
  /**
76
77
  * @internal
77
78
  */
78
79
  function equalsFunction() {
79
- halt("equalsFunction");
80
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.equalsFunction");
80
81
  }
81
82
  /**
82
83
  * @internal
83
84
  */
84
85
  function equalsParameters() {
85
- halt("equalsParameters");
86
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.equalsParameters");
86
87
  }
87
88
  /**
88
89
  * @internal
89
90
  */
90
91
  function equalsReturn() {
91
- halt("equalsReturn");
92
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.equalsReturn");
92
93
  }
93
94
  /**
94
95
  * @internal
95
96
  */
96
97
  function validateFunction() {
97
- halt("validateFunction");
98
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.validateFunction");
98
99
  }
99
100
  /**
100
101
  * @internal
101
102
  */
102
103
  function validateParameters() {
103
- halt("validateReturn");
104
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.validateReturn");
104
105
  }
105
106
  /**
106
107
  * @internal
107
108
  */
108
109
  function validateReturn() {
109
- halt("validateReturn");
110
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.validateReturn");
110
111
  }
111
112
  /**
112
113
  * @internal
113
114
  */
114
115
  function validateEqualsFunction() {
115
- halt("validateEqualsFunction");
116
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.validateEqualsFunction");
116
117
  }
117
118
  /**
118
119
  * @internal
119
120
  */
120
121
  function validateEqualsParameters() {
121
- halt("validateEqualsParameters");
122
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.validateEqualsParameters");
122
123
  }
123
124
  /**
124
125
  * @internal
125
126
  */
126
127
  function validateEqualsReturn() {
127
- halt("validateEqualsReturn");
128
- }
129
- /* -----------------------------------------------------------
130
- HALTER
131
- ----------------------------------------------------------- */
132
- /**
133
- * @internal
134
- */
135
- function halt(name) {
136
- throw new Error(`Error on typia.functional.${name}(): no transform has been configured. Read and follow https://typia.io/docs/setup please.`);
128
+ (0, NoTransformConfigurationError_1.NoTransformConfigurationError)("functional.validateEqualsReturn");
137
129
  }
138
130
  //# sourceMappingURL=functional.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"functional.js","sourceRoot":"","sources":["../src/functional.ts"],"names":[],"mappings":";;AAmDA,wCAEC;AAsCD,4CAEC;AAsCD,oCAEC;AA2CD,oDAEC;AAuCD,wDAEC;AAsCD,gDAEC;AAsCD,gCAEC;AAmCD,oCAEC;AAmCD,4BAEC;AAkCD,wCAEC;AA+BD,4CAEC;AAkCD,oCAEC;AA+CD,4CAEC;AAuCD,gDAEC;AAuCD,wCAEC;AA4CD,wDAEC;AAuCD,4DAEC;AAuCD,oDAEC;AAjrBD;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzB,CAAC;AAmCD;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC3B,CAAC;AAmCD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAI,CAAC,cAAc,CAAC,CAAC;AACvB,CAAC;AAwCD;;GAEG;AACH,SAAgB,oBAAoB;IAClC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAC/B,CAAC;AAoCD;;GAEG;AACH,SAAgB,sBAAsB;IACpC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACjC,CAAC;AAmCD;;GAEG;AACH,SAAgB,kBAAkB;IAChC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC7B,CAAC;AAmCD;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAI,CAAC,YAAY,CAAC,CAAC;AACrB,CAAC;AAgCD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAI,CAAC,cAAc,CAAC,CAAC;AACvB,CAAC;AAgCD;;GAEG;AACH,SAAgB,QAAQ;IACtB,IAAI,CAAC,UAAU,CAAC,CAAC;AACnB,CAAC;AA+BD;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzB,CAAC;AA4BD;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC3B,CAAC;AA+BD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAI,CAAC,cAAc,CAAC,CAAC;AACvB,CAAC;AA4CD;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAC3B,CAAC;AAoCD;;GAEG;AACH,SAAgB,kBAAkB;IAChC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzB,CAAC;AAoCD;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzB,CAAC;AAyCD;;GAEG;AACH,SAAgB,sBAAsB;IACpC,IAAI,CAAC,wBAAwB,CAAC,CAAC;AACjC,CAAC;AAoCD;;GAEG;AACH,SAAgB,wBAAwB;IACtC,IAAI,CAAC,0BAA0B,CAAC,CAAC;AACnC,CAAC;AAoCD;;GAEG;AACH,SAAgB,oBAAoB;IAClC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAC/B,CAAC;AAED;;8DAE8D;AAC9D;;GAEG;AACH,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,2FAA2F,CAC7H,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"functional.js","sourceRoot":"","sources":["../src/functional.ts"],"names":[],"mappings":";;AAqDA,wCAEC;AAsCD,4CAEC;AAsCD,oCAEC;AA2CD,oDAEC;AAuCD,wDAEC;AAsCD,gDAEC;AAsCD,gCAEC;AAmCD,oCAEC;AAmCD,4BAEC;AAkCD,wCAEC;AA+BD,4CAEC;AAkCD,oCAEC;AA+CD,4CAEC;AAuCD,gDAEC;AAuCD,wCAEC;AA4CD,wDAEC;AAuCD,4DAEC;AAuCD,oDAEC;AAnuBD,gGAA6F;AAkD7F;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAA,6DAA6B,EAAC,2BAA2B,CAAC,CAAC;AAC7D,CAAC;AAmCD;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,IAAA,6DAA6B,EAAC,6BAA6B,CAAC,CAAC;AAC/D,CAAC;AAmCD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAA,6DAA6B,EAAC,yBAAyB,CAAC,CAAC;AAC3D,CAAC;AAwCD;;GAEG;AACH,SAAgB,oBAAoB;IAClC,IAAA,6DAA6B,EAAC,iCAAiC,CAAC,CAAC;AACnE,CAAC;AAoCD;;GAEG;AACH,SAAgB,sBAAsB;IACpC,IAAA,6DAA6B,EAAC,mCAAmC,CAAC,CAAC;AACrE,CAAC;AAmCD;;GAEG;AACH,SAAgB,kBAAkB;IAChC,IAAA,6DAA6B,EAAC,+BAA+B,CAAC,CAAC;AACjE,CAAC;AAmCD;;GAEG;AACH,SAAgB,UAAU;IACxB,IAAA,6DAA6B,EAAC,uBAAuB,CAAC,CAAC;AACzD,CAAC;AAgCD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAA,6DAA6B,EAAC,yBAAyB,CAAC,CAAC;AAC3D,CAAC;AAgCD;;GAEG;AACH,SAAgB,QAAQ;IACtB,IAAA,6DAA6B,EAAC,qBAAqB,CAAC,CAAC;AACvD,CAAC;AA+BD;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAA,6DAA6B,EAAC,2BAA2B,CAAC,CAAC;AAC7D,CAAC;AA4BD;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,IAAA,6DAA6B,EAAC,6BAA6B,CAAC,CAAC;AAC/D,CAAC;AA+BD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAA,6DAA6B,EAAC,yBAAyB,CAAC,CAAC;AAC3D,CAAC;AA4CD;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,IAAA,6DAA6B,EAAC,6BAA6B,CAAC,CAAC;AAC/D,CAAC;AAoCD;;GAEG;AACH,SAAgB,kBAAkB;IAChC,IAAA,6DAA6B,EAAC,2BAA2B,CAAC,CAAC;AAC7D,CAAC;AAoCD;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAA,6DAA6B,EAAC,2BAA2B,CAAC,CAAC;AAC7D,CAAC;AAyCD;;GAEG;AACH,SAAgB,sBAAsB;IACpC,IAAA,6DAA6B,EAAC,mCAAmC,CAAC,CAAC;AACrE,CAAC;AAoCD;;GAEG;AACH,SAAgB,wBAAwB;IACtC,IAAA,6DAA6B,EAAC,qCAAqC,CAAC,CAAC;AACvE,CAAC;AAoCD;;GAEG;AACH,SAAgB,oBAAoB;IAClC,IAAA,6DAA6B,EAAC,iCAAiC,CAAC,CAAC;AACnE,CAAC"}