typia 5.0.4 → 5.0.5-dev.20230921-2

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 (293) hide show
  1. package/README.md +1 -1
  2. package/lib/programmers/TypiaProgrammer.js +6 -1
  3. package/lib/programmers/TypiaProgrammer.js.map +1 -1
  4. package/package.json +1 -1
  5. package/src/IRandomGenerator.ts +35 -35
  6. package/src/IValidation.ts +21 -21
  7. package/src/Primitive.ts +135 -135
  8. package/src/Resolved.ts +116 -116
  9. package/src/TypeGuardError.ts +36 -36
  10. package/src/executable/TypiaGenerateWizard.ts +85 -85
  11. package/src/executable/TypiaSetupWizard.ts +153 -153
  12. package/src/executable/setup/ArgumentParser.ts +45 -45
  13. package/src/executable/setup/CommandExecutor.ts +8 -8
  14. package/src/executable/setup/FileRetriever.ts +22 -22
  15. package/src/executable/setup/PackageManager.ts +71 -71
  16. package/src/executable/setup/PluginConfigurator.ts +70 -70
  17. package/src/executable/typia.ts +52 -52
  18. package/src/factories/CommentFactory.ts +84 -84
  19. package/src/factories/ExpressionFactory.ts +159 -159
  20. package/src/factories/IdentifierFactory.ts +74 -74
  21. package/src/factories/JsonMetadataFactory.ts +43 -43
  22. package/src/factories/LiteralFactory.ts +47 -47
  23. package/src/factories/MetadataCollection.ts +269 -269
  24. package/src/factories/MetadataCommentTagFactory.ts +629 -629
  25. package/src/factories/MetadataFactory.ts +214 -214
  26. package/src/factories/MetadataTypeTagFactory.ts +313 -313
  27. package/src/factories/NumericRangeFactory.ts +33 -33
  28. package/src/factories/ProtobufFactory.ts +272 -272
  29. package/src/factories/StatementFactory.ts +72 -72
  30. package/src/factories/TemplateFactory.ts +58 -58
  31. package/src/factories/TypeFactory.ts +119 -119
  32. package/src/factories/ValueFactory.ts +12 -12
  33. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  34. package/src/factories/internal/metadata/emend_metadata_atomics.ts +40 -40
  35. package/src/factories/internal/metadata/emplace_metadata_alias.ts +41 -41
  36. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +41 -41
  37. package/src/factories/internal/metadata/emplace_metadata_object.ts +150 -150
  38. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +60 -60
  39. package/src/factories/internal/metadata/explore_metadata.ts +32 -32
  40. package/src/factories/internal/metadata/iterate_metadata.ts +101 -101
  41. package/src/factories/internal/metadata/iterate_metadata_alias.ts +35 -35
  42. package/src/factories/internal/metadata/iterate_metadata_array.ts +37 -37
  43. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  44. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  45. package/src/factories/internal/metadata/iterate_metadata_collection.ts +141 -141
  46. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +26 -26
  47. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  48. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +197 -197
  49. package/src/factories/internal/metadata/iterate_metadata_map.ts +57 -57
  50. package/src/factories/internal/metadata/iterate_metadata_native.ts +210 -210
  51. package/src/factories/internal/metadata/iterate_metadata_object.ts +44 -44
  52. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +52 -52
  53. package/src/factories/internal/metadata/iterate_metadata_set.ts +42 -42
  54. package/src/factories/internal/metadata/iterate_metadata_sort.ts +69 -69
  55. package/src/factories/internal/metadata/iterate_metadata_template.ts +47 -47
  56. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +37 -37
  57. package/src/factories/internal/metadata/iterate_metadata_union.ts +27 -27
  58. package/src/functional/$ProtobufReader.ts +201 -201
  59. package/src/functional/$ProtobufSizer.ts +147 -147
  60. package/src/functional/$ProtobufWriter.ts +151 -151
  61. package/src/functional/$any.ts +4 -4
  62. package/src/functional/$clone.ts +4 -4
  63. package/src/functional/$dictionary.ts +25 -25
  64. package/src/functional/$every.ts +11 -11
  65. package/src/functional/$guard.ts +35 -35
  66. package/src/functional/$is_between.ts +2 -2
  67. package/src/functional/$join.ts +46 -46
  68. package/src/functional/$number.ts +13 -13
  69. package/src/functional/$report.ts +15 -15
  70. package/src/functional/$rest.ts +3 -3
  71. package/src/functional/$string.ts +50 -50
  72. package/src/functional/$strlen.ts +7 -7
  73. package/src/functional/$tail.ts +5 -5
  74. package/src/functional/$varint.ts +130 -130
  75. package/src/functional/$zigzag.ts +39 -39
  76. package/src/functional/IProtobufWriter.ts +18 -18
  77. package/src/functional/Namespace.ts +133 -133
  78. package/src/index.ts +4 -4
  79. package/src/json.ts +648 -648
  80. package/src/misc.ts +651 -651
  81. package/src/module.ts +656 -656
  82. package/src/programmers/AssertProgrammer.ts +317 -317
  83. package/src/programmers/CheckerProgrammer.ts +1137 -1137
  84. package/src/programmers/FeatureProgrammer.ts +478 -478
  85. package/src/programmers/IsProgrammer.ts +252 -252
  86. package/src/programmers/RandomProgrammer.ts +878 -878
  87. package/src/programmers/TypiaProgrammer.ts +170 -163
  88. package/src/programmers/ValidateProgrammer.ts +346 -346
  89. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  90. package/src/programmers/helpers/CloneJoiner.ts +144 -144
  91. package/src/programmers/helpers/FunctionImporeter.ts +91 -91
  92. package/src/programmers/helpers/ICheckEntry.ts +13 -13
  93. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  94. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  95. package/src/programmers/helpers/ProtobufUtil.ts +125 -125
  96. package/src/programmers/helpers/ProtobufWire.ts +34 -34
  97. package/src/programmers/helpers/PruneJoiner.ts +143 -143
  98. package/src/programmers/helpers/RandomJoiner.ts +151 -151
  99. package/src/programmers/helpers/RandomRanger.ts +173 -173
  100. package/src/programmers/helpers/StringifyJoinder.ts +113 -113
  101. package/src/programmers/helpers/StringifyPredicator.ts +12 -12
  102. package/src/programmers/helpers/UnionExplorer.ts +305 -305
  103. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  104. package/src/programmers/helpers/disable_function_importer_declare.ts +32 -32
  105. package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
  106. package/src/programmers/internal/application_alias.ts +65 -65
  107. package/src/programmers/internal/application_array.ts +53 -53
  108. package/src/programmers/internal/application_boolean.ts +15 -15
  109. package/src/programmers/internal/application_constant.ts +26 -26
  110. package/src/programmers/internal/application_default.ts +17 -17
  111. package/src/programmers/internal/application_default_string.ts +37 -37
  112. package/src/programmers/internal/application_escaped.ts +55 -55
  113. package/src/programmers/internal/application_native.ts +39 -39
  114. package/src/programmers/internal/application_number.ts +88 -88
  115. package/src/programmers/internal/application_object.ts +162 -162
  116. package/src/programmers/internal/application_schema.ts +175 -175
  117. package/src/programmers/internal/application_string.ts +51 -51
  118. package/src/programmers/internal/application_templates.ts +25 -25
  119. package/src/programmers/internal/application_tuple.ts +58 -58
  120. package/src/programmers/internal/check_array_length.ts +41 -41
  121. package/src/programmers/internal/check_bigint.ts +45 -45
  122. package/src/programmers/internal/check_dynamic_properties.ts +194 -194
  123. package/src/programmers/internal/check_everything.ts +28 -28
  124. package/src/programmers/internal/check_native.ts +21 -21
  125. package/src/programmers/internal/check_number.ts +105 -105
  126. package/src/programmers/internal/check_object.ts +55 -55
  127. package/src/programmers/internal/check_string.ts +45 -45
  128. package/src/programmers/internal/check_template.ts +61 -61
  129. package/src/programmers/internal/check_union_array_like.ts +323 -323
  130. package/src/programmers/internal/decode_union_object.ts +84 -84
  131. package/src/programmers/internal/feature_object_entries.ts +58 -58
  132. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  133. package/src/programmers/internal/prune_object_properties.ts +60 -60
  134. package/src/programmers/internal/random_custom.ts +37 -37
  135. package/src/programmers/internal/stringify_dynamic_properties.ts +171 -171
  136. package/src/programmers/internal/stringify_native.ts +7 -7
  137. package/src/programmers/internal/stringify_regular_properties.ts +83 -83
  138. package/src/programmers/internal/template_to_pattern.ts +15 -15
  139. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +20 -20
  140. package/src/programmers/json/JsonApplicationProgrammer.ts +50 -50
  141. package/src/programmers/json/JsonAssertParseProgrammer.ts +71 -71
  142. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +66 -66
  143. package/src/programmers/json/JsonIsParseProgrammer.ts +77 -77
  144. package/src/programmers/json/JsonIsStringifyProgrammer.ts +76 -76
  145. package/src/programmers/json/JsonStringifyProgrammer.ts +964 -964
  146. package/src/programmers/json/JsonValidateParseProgrammer.ts +68 -68
  147. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +84 -84
  148. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +71 -71
  149. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +68 -68
  150. package/src/programmers/misc/MiscCloneProgrammer.ts +774 -774
  151. package/src/programmers/misc/MiscIsCloneProgrammer.ts +78 -78
  152. package/src/programmers/misc/MiscIsPruneProgrammer.ts +73 -73
  153. package/src/programmers/misc/MiscLiteralsProgrammer.ts +69 -69
  154. package/src/programmers/misc/MiscPruneProgrammer.ts +550 -550
  155. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +85 -85
  156. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +78 -78
  157. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +75 -75
  158. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +66 -66
  159. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +655 -655
  160. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +883 -883
  161. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +85 -85
  162. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +76 -76
  163. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +165 -165
  164. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +75 -75
  165. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +86 -86
  166. package/src/protobuf.ts +881 -881
  167. package/src/schemas/json/IJsonApplication.ts +8 -8
  168. package/src/schemas/json/IJsonComponents.ts +33 -33
  169. package/src/schemas/json/IJsonSchema.ts +110 -110
  170. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  171. package/src/schemas/metadata/IMetadata.ts +34 -34
  172. package/src/schemas/metadata/IMetadataAlias.ts +12 -12
  173. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  174. package/src/schemas/metadata/IMetadataArray.ts +7 -7
  175. package/src/schemas/metadata/IMetadataArrayType.ts +10 -10
  176. package/src/schemas/metadata/IMetadataAtomic.ts +6 -6
  177. package/src/schemas/metadata/IMetadataCollection.ts +11 -11
  178. package/src/schemas/metadata/IMetadataConstant.ts +16 -16
  179. package/src/schemas/metadata/IMetadataDictionary.ts +14 -14
  180. package/src/schemas/metadata/IMetadataEntry.ts +6 -6
  181. package/src/schemas/metadata/IMetadataEscaped.ts +6 -6
  182. package/src/schemas/metadata/IMetadataObject.ts +18 -18
  183. package/src/schemas/metadata/IMetadataProperty.ts +9 -9
  184. package/src/schemas/metadata/IMetadataTuple.ts +7 -7
  185. package/src/schemas/metadata/IMetadataTupleType.ts +10 -10
  186. package/src/schemas/metadata/IMetadataTypeTag.ts +8 -8
  187. package/src/schemas/metadata/Metadata.ts +685 -685
  188. package/src/schemas/metadata/MetadataAlias.ts +61 -61
  189. package/src/schemas/metadata/MetadataArray.ts +49 -49
  190. package/src/schemas/metadata/MetadataArrayType.ts +57 -57
  191. package/src/schemas/metadata/MetadataAtomic.ts +42 -42
  192. package/src/schemas/metadata/MetadataConstant.ts +3 -3
  193. package/src/schemas/metadata/MetadataEscaped.ts +51 -51
  194. package/src/schemas/metadata/MetadataObject.ts +139 -139
  195. package/src/schemas/metadata/MetadataProperty.ts +59 -59
  196. package/src/schemas/metadata/MetadataTuple.ts +32 -32
  197. package/src/schemas/metadata/MetadataTupleType.ts +67 -67
  198. package/src/tags/ExclusiveMaximum.ts +13 -13
  199. package/src/tags/ExclusiveMinimum.ts +13 -13
  200. package/src/tags/Format.ts +30 -30
  201. package/src/tags/MaxItems.ts +9 -9
  202. package/src/tags/MaxLength.ts +9 -9
  203. package/src/tags/Maximum.ts +13 -13
  204. package/src/tags/MinItems.ts +9 -9
  205. package/src/tags/MinLength.ts +9 -9
  206. package/src/tags/Minimum.ts +13 -13
  207. package/src/tags/MultipleOf.ts +15 -15
  208. package/src/tags/Pattern.ts +8 -8
  209. package/src/tags/TagBase.ts +68 -68
  210. package/src/tags/Type.ts +27 -27
  211. package/src/tags/index.ts +13 -13
  212. package/src/transform.ts +35 -35
  213. package/src/transformers/CallExpressionTransformer.ts +243 -243
  214. package/src/transformers/FileTransformer.ts +57 -57
  215. package/src/transformers/IProject.ts +15 -15
  216. package/src/transformers/ITransformOptions.ts +62 -62
  217. package/src/transformers/ImportTransformer.ts +66 -66
  218. package/src/transformers/NodeTransformer.ts +13 -13
  219. package/src/transformers/TransformerError.ts +55 -55
  220. package/src/transformers/features/AssertTransformer.ts +11 -11
  221. package/src/transformers/features/CreateAssertTransformer.ts +13 -13
  222. package/src/transformers/features/CreateIsTransformer.ts +11 -11
  223. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  224. package/src/transformers/features/CreateValidateTransformer.ts +13 -13
  225. package/src/transformers/features/IsTransformer.ts +11 -11
  226. package/src/transformers/features/RandomTransformer.ts +46 -46
  227. package/src/transformers/features/ValidateTransformer.ts +11 -11
  228. package/src/transformers/features/json/JsonApplicationTransformer.ts +118 -118
  229. package/src/transformers/features/json/JsonAssertParseTransformer.ts +10 -10
  230. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  231. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +10 -10
  232. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  233. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  234. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +10 -10
  235. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  236. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +10 -10
  237. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  238. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  239. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +10 -10
  240. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  241. package/src/transformers/features/json/JsonValidateParseTransformer.ts +10 -10
  242. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  243. package/src/transformers/features/misc/MetadataTransformer.ts +61 -61
  244. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +10 -10
  245. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +10 -10
  246. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  247. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +10 -10
  248. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +10 -10
  249. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  250. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  251. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  252. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  253. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +10 -10
  254. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +10 -10
  255. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  256. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  257. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +32 -32
  258. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  259. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +10 -10
  260. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +10 -10
  261. package/src/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.ts +12 -12
  262. package/src/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.ts +12 -12
  263. package/src/transformers/features/protobuf/CreateProtobufDecodeTransformer.ts +9 -9
  264. package/src/transformers/features/protobuf/CreateProtobufEncodeTransformer.ts +9 -9
  265. package/src/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.ts +12 -12
  266. package/src/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.ts +12 -12
  267. package/src/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.ts +12 -12
  268. package/src/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.ts +12 -12
  269. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +10 -10
  270. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +10 -10
  271. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +10 -10
  272. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +10 -10
  273. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +10 -10
  274. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +10 -10
  275. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +33 -33
  276. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +12 -12
  277. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +12 -12
  278. package/src/transformers/internal/GenericTransformer.ts +104 -104
  279. package/src/typings/Atomic.ts +18 -18
  280. package/src/typings/ClassProperties.ts +5 -5
  281. package/src/typings/Customizable.ts +5 -5
  282. package/src/typings/OmitNever.ts +3 -3
  283. package/src/typings/ProtobufAtomic.ts +19 -19
  284. package/src/typings/SpecialFields.ts +3 -3
  285. package/src/typings/ValidationPipe.ts +9 -9
  286. package/src/typings/Writable.ts +11 -11
  287. package/src/utils/ArrayUtil.ts +45 -45
  288. package/src/utils/Escaper.ts +46 -46
  289. package/src/utils/MapUtil.ts +12 -12
  290. package/src/utils/NameEncoder.ts +32 -32
  291. package/src/utils/PatternUtil.ts +33 -33
  292. package/src/utils/RandomGenerator.ts +83 -83
  293. package/src/utils/Singleton.ts +17 -17
@@ -1,12 +1,12 @@
1
- import { ProtobufIsDecodeProgrammer } from "../../../programmers/protobuf/ProtobufIsDecodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace CreateProtobufIsDecodeTransformer {
6
- export const transform = GenericTransformer.factory(
7
- "protobuf.createIsDecode",
8
- )(
9
- (project) => (modulo) =>
10
- ProtobufIsDecodeProgrammer.write(project)(modulo),
11
- );
12
- }
1
+ import { ProtobufIsDecodeProgrammer } from "../../../programmers/protobuf/ProtobufIsDecodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace CreateProtobufIsDecodeTransformer {
6
+ export const transform = GenericTransformer.factory(
7
+ "protobuf.createIsDecode",
8
+ )(
9
+ (project) => (modulo) =>
10
+ ProtobufIsDecodeProgrammer.write(project)(modulo),
11
+ );
12
+ }
@@ -1,12 +1,12 @@
1
- import { ProtobufIsEncodeProgrammer } from "../../../programmers/protobuf/ProtobufIsEncodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace CreateProtobufIsEncodeTransformer {
6
- export const transform = GenericTransformer.factory(
7
- "protobuf.createIsEncode",
8
- )(
9
- (project) => (modulo) =>
10
- ProtobufIsEncodeProgrammer.write(project)(modulo),
11
- );
12
- }
1
+ import { ProtobufIsEncodeProgrammer } from "../../../programmers/protobuf/ProtobufIsEncodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace CreateProtobufIsEncodeTransformer {
6
+ export const transform = GenericTransformer.factory(
7
+ "protobuf.createIsEncode",
8
+ )(
9
+ (project) => (modulo) =>
10
+ ProtobufIsEncodeProgrammer.write(project)(modulo),
11
+ );
12
+ }
@@ -1,12 +1,12 @@
1
- import { ProtobufValidateDecodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateDecodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace CreateProtobufValidateDecodeTransformer {
6
- export const transform = GenericTransformer.factory(
7
- "protobuf.createValidateDecode",
8
- )(
9
- (project) => (modulo) =>
10
- ProtobufValidateDecodeProgrammer.write(project)(modulo),
11
- );
12
- }
1
+ import { ProtobufValidateDecodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateDecodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace CreateProtobufValidateDecodeTransformer {
6
+ export const transform = GenericTransformer.factory(
7
+ "protobuf.createValidateDecode",
8
+ )(
9
+ (project) => (modulo) =>
10
+ ProtobufValidateDecodeProgrammer.write(project)(modulo),
11
+ );
12
+ }
@@ -1,12 +1,12 @@
1
- import { ProtobufValidateEncodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateEncodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace CreateProtobufValidateEncodeTransformer {
6
- export const transform = GenericTransformer.factory(
7
- "protobuf.createValidateEncode",
8
- )(
9
- (project) => (modulo) =>
10
- ProtobufValidateEncodeProgrammer.write(project)(modulo),
11
- );
12
- }
1
+ import { ProtobufValidateEncodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateEncodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace CreateProtobufValidateEncodeTransformer {
6
+ export const transform = GenericTransformer.factory(
7
+ "protobuf.createValidateEncode",
8
+ )(
9
+ (project) => (modulo) =>
10
+ ProtobufValidateEncodeProgrammer.write(project)(modulo),
11
+ );
12
+ }
@@ -1,10 +1,10 @@
1
- import { ProtobufAssertDecodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertDecodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace ProtobufAssertDecodeTransformer {
6
- export const transform = GenericTransformer.scalar("protobuf.assertDecode")(
7
- (project) => (modulo) =>
8
- ProtobufAssertDecodeProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { ProtobufAssertDecodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertDecodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace ProtobufAssertDecodeTransformer {
6
+ export const transform = GenericTransformer.scalar("protobuf.assertDecode")(
7
+ (project) => (modulo) =>
8
+ ProtobufAssertDecodeProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { ProtobufAssertEncodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertEncodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace ProtobufAssertEncodeTransformer {
6
- export const transform = GenericTransformer.scalar("protobuf.assertEncode")(
7
- (project) => (modulo) =>
8
- ProtobufAssertEncodeProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { ProtobufAssertEncodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertEncodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace ProtobufAssertEncodeTransformer {
6
+ export const transform = GenericTransformer.scalar("protobuf.assertEncode")(
7
+ (project) => (modulo) =>
8
+ ProtobufAssertEncodeProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { ProtobufDecodeProgrammer } from "../../../programmers/protobuf/ProtobufDecodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace ProtobufDecodeTransformer {
6
- export const transform = GenericTransformer.scalar("protobuf.decode")(
7
- (project) => (modulo) =>
8
- ProtobufDecodeProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { ProtobufDecodeProgrammer } from "../../../programmers/protobuf/ProtobufDecodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace ProtobufDecodeTransformer {
6
+ export const transform = GenericTransformer.scalar("protobuf.decode")(
7
+ (project) => (modulo) =>
8
+ ProtobufDecodeProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { ProtobufEncodeProgrammer } from "../../../programmers/protobuf/ProtobufEncodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace ProtobufEncodeTransformer {
6
- export const transform = GenericTransformer.scalar("protobuf.encode")(
7
- (project) => (modulo) =>
8
- ProtobufEncodeProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { ProtobufEncodeProgrammer } from "../../../programmers/protobuf/ProtobufEncodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace ProtobufEncodeTransformer {
6
+ export const transform = GenericTransformer.scalar("protobuf.encode")(
7
+ (project) => (modulo) =>
8
+ ProtobufEncodeProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { ProtobufIsDecodeProgrammer } from "../../../programmers/protobuf/ProtobufIsDecodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace ProtobufIsDecodeTransformer {
6
- export const transform = GenericTransformer.scalar("protobuf.isDecode")(
7
- (project) => (modulo) =>
8
- ProtobufIsDecodeProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { ProtobufIsDecodeProgrammer } from "../../../programmers/protobuf/ProtobufIsDecodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace ProtobufIsDecodeTransformer {
6
+ export const transform = GenericTransformer.scalar("protobuf.isDecode")(
7
+ (project) => (modulo) =>
8
+ ProtobufIsDecodeProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { ProtobufIsEncodeProgrammer } from "../../../programmers/protobuf/ProtobufIsEncodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace ProtobufIsEncodeTransformer {
6
- export const transform = GenericTransformer.scalar("protobuf.isEncode")(
7
- (project) => (modulo) =>
8
- ProtobufIsEncodeProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { ProtobufIsEncodeProgrammer } from "../../../programmers/protobuf/ProtobufIsEncodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace ProtobufIsEncodeTransformer {
6
+ export const transform = GenericTransformer.scalar("protobuf.isEncode")(
7
+ (project) => (modulo) =>
8
+ ProtobufIsEncodeProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,33 +1,33 @@
1
- import ts from "typescript";
2
-
3
- import { ProtobufMessageProgrammer } from "../../../programmers/protobuf/ProtobufMessageProgrammer";
4
-
5
- import { IProject } from "../../IProject";
6
- import { TransformerError } from "../../TransformerError";
7
-
8
- export namespace ProtobufMessageTransformer {
9
- export const transform =
10
- (project: IProject) =>
11
- (_modulo: ts.LeftHandSideExpression) =>
12
- (expression: ts.CallExpression): ts.Expression => {
13
- // CHECK GENERIC ARGUMENT EXISTENCE
14
- if (!expression.typeArguments || !expression.typeArguments[0])
15
- throw new TransformerError({
16
- code: "typia.protobuf.message",
17
- message: "generic argument is not specified.",
18
- });
19
-
20
- // GET TYPE INFO
21
- const type: ts.Type = project.checker.getTypeFromTypeNode(
22
- expression.typeArguments[0],
23
- );
24
- if (type.isTypeParameter())
25
- throw new TransformerError({
26
- code: "tyipa.protobuf.message",
27
- message: "non-specified generic argument.",
28
- });
29
-
30
- // DO TRANSFORM
31
- return ProtobufMessageProgrammer.write(project)(type);
32
- };
33
- }
1
+ import ts from "typescript";
2
+
3
+ import { ProtobufMessageProgrammer } from "../../../programmers/protobuf/ProtobufMessageProgrammer";
4
+
5
+ import { IProject } from "../../IProject";
6
+ import { TransformerError } from "../../TransformerError";
7
+
8
+ export namespace ProtobufMessageTransformer {
9
+ export const transform =
10
+ (project: IProject) =>
11
+ (_modulo: ts.LeftHandSideExpression) =>
12
+ (expression: ts.CallExpression): ts.Expression => {
13
+ // CHECK GENERIC ARGUMENT EXISTENCE
14
+ if (!expression.typeArguments || !expression.typeArguments[0])
15
+ throw new TransformerError({
16
+ code: "typia.protobuf.message",
17
+ message: "generic argument is not specified.",
18
+ });
19
+
20
+ // GET TYPE INFO
21
+ const type: ts.Type = project.checker.getTypeFromTypeNode(
22
+ expression.typeArguments[0],
23
+ );
24
+ if (type.isTypeParameter())
25
+ throw new TransformerError({
26
+ code: "tyipa.protobuf.message",
27
+ message: "non-specified generic argument.",
28
+ });
29
+
30
+ // DO TRANSFORM
31
+ return ProtobufMessageProgrammer.write(project)(type);
32
+ };
33
+ }
@@ -1,12 +1,12 @@
1
- import { ProtobufValidateDecodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateDecodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace ProtobufValidateDecodeTransformer {
6
- export const transform = GenericTransformer.scalar(
7
- "protobuf.validateDecode",
8
- )(
9
- (project) => (modulo) =>
10
- ProtobufValidateDecodeProgrammer.write(project)(modulo),
11
- );
12
- }
1
+ import { ProtobufValidateDecodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateDecodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace ProtobufValidateDecodeTransformer {
6
+ export const transform = GenericTransformer.scalar(
7
+ "protobuf.validateDecode",
8
+ )(
9
+ (project) => (modulo) =>
10
+ ProtobufValidateDecodeProgrammer.write(project)(modulo),
11
+ );
12
+ }
@@ -1,12 +1,12 @@
1
- import { ProtobufValidateEncodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateEncodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace ProtobufValidateEncodeTransformer {
6
- export const transform = GenericTransformer.scalar(
7
- "protobuf.validateEncode",
8
- )(
9
- (project) => (modulo) =>
10
- ProtobufValidateEncodeProgrammer.write(project)(modulo),
11
- );
12
- }
1
+ import { ProtobufValidateEncodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateEncodeProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace ProtobufValidateEncodeTransformer {
6
+ export const transform = GenericTransformer.scalar(
7
+ "protobuf.validateEncode",
8
+ )(
9
+ (project) => (modulo) =>
10
+ ProtobufValidateEncodeProgrammer.write(project)(modulo),
11
+ );
12
+ }
@@ -1,104 +1,104 @@
1
- import ts from "typescript";
2
-
3
- import { IProject } from "../IProject";
4
- import { TransformerError } from "../TransformerError";
5
-
6
- export namespace GenericTransformer {
7
- export const scalar =
8
- (method: string) =>
9
- (
10
- programmer: (
11
- project: IProject,
12
- ) => (
13
- modulo: ts.LeftHandSideExpression,
14
- ) => (type: ts.Type, name: string) => ts.ArrowFunction,
15
- ) =>
16
- (project: IProject) =>
17
- (modulo: ts.LeftHandSideExpression) =>
18
- (expression: ts.CallExpression) => {
19
- // CHECK PARAMETER
20
- if (expression.arguments.length !== 1)
21
- throw new TransformerError({
22
- code: `typia.${method}`,
23
- message: `no input value.`,
24
- });
25
-
26
- // GET TYPE INFO
27
- const [type, node, generic]: [ts.Type, ts.Node, boolean] =
28
- expression.typeArguments && expression.typeArguments[0]
29
- ? [
30
- project.checker.getTypeFromTypeNode(
31
- expression.typeArguments[0],
32
- ),
33
- expression.typeArguments[0],
34
- true,
35
- ]
36
- : [
37
- project.checker.getTypeAtLocation(
38
- expression.arguments[0]!,
39
- ),
40
- expression.arguments[0]!,
41
- false,
42
- ];
43
- if (type.isTypeParameter())
44
- throw new TransformerError({
45
- code: `typia.${method}`,
46
- message: `non-specified generic argument.`,
47
- });
48
-
49
- // DO TRANSFORM
50
- return ts.factory.createCallExpression(
51
- programmer(project)(modulo)(
52
- type,
53
- generic
54
- ? node.getFullText().trim()
55
- : name(project.checker)(type)(node),
56
- ),
57
- undefined,
58
- [expression.arguments[0]!],
59
- );
60
- };
61
-
62
- export const factory =
63
- (method: string) =>
64
- (
65
- programmer: (
66
- project: IProject,
67
- ) => (
68
- modulo: ts.LeftHandSideExpression,
69
- ) => (type: ts.Type, name: string) => ts.ArrowFunction,
70
- ) =>
71
- (project: IProject) =>
72
- (modulo: ts.LeftHandSideExpression) =>
73
- (expression: ts.CallExpression) => {
74
- // CHECK GENERIC ARGUMENT EXISTENCE
75
- if (!expression.typeArguments?.[0])
76
- throw new TransformerError({
77
- code: `typia.${method}`,
78
- message: `generic argument is not specified.`,
79
- });
80
-
81
- // GET TYPE INFO
82
- const node: ts.TypeNode = expression.typeArguments[0];
83
- const type: ts.Type = project.checker.getTypeFromTypeNode(node);
84
-
85
- if (type.isTypeParameter())
86
- throw new TransformerError({
87
- code: `typia.${method}`,
88
- message: `non-specified generic argument.`,
89
- });
90
-
91
- // DO TRANSFORM
92
- return programmer(project)(modulo)(type, node.getFullText().trim());
93
- };
94
-
95
- const name =
96
- (checker: ts.TypeChecker) =>
97
- (type: ts.Type) =>
98
- (node: ts.Node): string =>
99
- checker.typeToString(
100
- type,
101
- node,
102
- ts.TypeFormatFlags.NodeBuilderFlagsMask,
103
- );
104
- }
1
+ import ts from "typescript";
2
+
3
+ import { IProject } from "../IProject";
4
+ import { TransformerError } from "../TransformerError";
5
+
6
+ export namespace GenericTransformer {
7
+ export const scalar =
8
+ (method: string) =>
9
+ (
10
+ programmer: (
11
+ project: IProject,
12
+ ) => (
13
+ modulo: ts.LeftHandSideExpression,
14
+ ) => (type: ts.Type, name: string) => ts.ArrowFunction,
15
+ ) =>
16
+ (project: IProject) =>
17
+ (modulo: ts.LeftHandSideExpression) =>
18
+ (expression: ts.CallExpression) => {
19
+ // CHECK PARAMETER
20
+ if (expression.arguments.length !== 1)
21
+ throw new TransformerError({
22
+ code: `typia.${method}`,
23
+ message: `no input value.`,
24
+ });
25
+
26
+ // GET TYPE INFO
27
+ const [type, node, generic]: [ts.Type, ts.Node, boolean] =
28
+ expression.typeArguments && expression.typeArguments[0]
29
+ ? [
30
+ project.checker.getTypeFromTypeNode(
31
+ expression.typeArguments[0],
32
+ ),
33
+ expression.typeArguments[0],
34
+ true,
35
+ ]
36
+ : [
37
+ project.checker.getTypeAtLocation(
38
+ expression.arguments[0]!,
39
+ ),
40
+ expression.arguments[0]!,
41
+ false,
42
+ ];
43
+ if (type.isTypeParameter())
44
+ throw new TransformerError({
45
+ code: `typia.${method}`,
46
+ message: `non-specified generic argument.`,
47
+ });
48
+
49
+ // DO TRANSFORM
50
+ return ts.factory.createCallExpression(
51
+ programmer(project)(modulo)(
52
+ type,
53
+ generic
54
+ ? node.getFullText().trim()
55
+ : name(project.checker)(type)(node),
56
+ ),
57
+ undefined,
58
+ [expression.arguments[0]!],
59
+ );
60
+ };
61
+
62
+ export const factory =
63
+ (method: string) =>
64
+ (
65
+ programmer: (
66
+ project: IProject,
67
+ ) => (
68
+ modulo: ts.LeftHandSideExpression,
69
+ ) => (type: ts.Type, name: string) => ts.ArrowFunction,
70
+ ) =>
71
+ (project: IProject) =>
72
+ (modulo: ts.LeftHandSideExpression) =>
73
+ (expression: ts.CallExpression) => {
74
+ // CHECK GENERIC ARGUMENT EXISTENCE
75
+ if (!expression.typeArguments?.[0])
76
+ throw new TransformerError({
77
+ code: `typia.${method}`,
78
+ message: `generic argument is not specified.`,
79
+ });
80
+
81
+ // GET TYPE INFO
82
+ const node: ts.TypeNode = expression.typeArguments[0];
83
+ const type: ts.Type = project.checker.getTypeFromTypeNode(node);
84
+
85
+ if (type.isTypeParameter())
86
+ throw new TransformerError({
87
+ code: `typia.${method}`,
88
+ message: `non-specified generic argument.`,
89
+ });
90
+
91
+ // DO TRANSFORM
92
+ return programmer(project)(modulo)(type, node.getFullText().trim());
93
+ };
94
+
95
+ const name =
96
+ (checker: ts.TypeChecker) =>
97
+ (type: ts.Type) =>
98
+ (node: ts.Node): string =>
99
+ checker.typeToString(
100
+ type,
101
+ node,
102
+ ts.TypeFormatFlags.NodeBuilderFlagsMask,
103
+ );
104
+ }
@@ -1,18 +1,18 @@
1
- export namespace Atomic {
2
- export type Type = boolean | number | string | bigint;
3
-
4
- export type Literal =
5
- | "boolean"
6
- | "integer"
7
- | "number"
8
- | "string"
9
- | "bigint";
10
-
11
- export type Mapper = {
12
- boolean: boolean;
13
- integer: number;
14
- number: number;
15
- string: string;
16
- bigint: bigint;
17
- };
18
- }
1
+ export namespace Atomic {
2
+ export type Type = boolean | number | string | bigint;
3
+
4
+ export type Literal =
5
+ | "boolean"
6
+ | "integer"
7
+ | "number"
8
+ | "string"
9
+ | "bigint";
10
+
11
+ export type Mapper = {
12
+ boolean: boolean;
13
+ integer: number;
14
+ number: number;
15
+ string: string;
16
+ bigint: bigint;
17
+ };
18
+ }
@@ -1,5 +1,5 @@
1
- import { OmitNever } from "./OmitNever";
2
-
3
- export type ClassProperties<T extends object> = OmitNever<{
4
- [K in keyof T]: T[K] extends Function ? never : T[K];
5
- }>;
1
+ import { OmitNever } from "./OmitNever";
2
+
3
+ export type ClassProperties<T extends object> = OmitNever<{
4
+ [K in keyof T]: T[K] extends Function ? never : T[K];
5
+ }>;
@@ -1,5 +1,5 @@
1
- export type Customizable = {
2
- number: number;
3
- string: string;
4
- bigint: bigint;
5
- };
1
+ export type Customizable = {
2
+ number: number;
3
+ string: string;
4
+ bigint: bigint;
5
+ };
@@ -1,3 +1,3 @@
1
- import { SpecialFields } from "./SpecialFields";
2
-
3
- export type OmitNever<T extends object> = Omit<T, SpecialFields<T, never>>;
1
+ import { SpecialFields } from "./SpecialFields";
2
+
3
+ export type OmitNever<T extends object> = Omit<T, SpecialFields<T, never>>;