typia 5.0.0-dev.20230730 → 5.0.0-dev.20230805

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 (227) hide show
  1. package/lib/factories/CommentFactory.d.ts +1 -1
  2. package/lib/factories/CommentFactory.js +31 -28
  3. package/lib/factories/CommentFactory.js.map +1 -1
  4. package/lib/functional/$string.js +16 -20
  5. package/lib/functional/$string.js.map +1 -1
  6. package/lib/programmers/internal/application_object.js +2 -0
  7. package/lib/programmers/internal/application_object.js.map +1 -1
  8. package/lib/schemas/metadata/Metadata.d.ts +1 -0
  9. package/lib/schemas/metadata/Metadata.js +3 -0
  10. package/lib/schemas/metadata/Metadata.js.map +1 -1
  11. package/package.json +2 -2
  12. package/src/factories/CommentFactory.ts +84 -76
  13. package/src/factories/MetadataCollection.ts +264 -264
  14. package/src/factories/MetadataFactory.ts +30 -30
  15. package/src/factories/MetadataTagFactory.ts +362 -362
  16. package/src/factories/ProtocolFactory.ts +80 -80
  17. package/src/factories/internal/metadata/MetadataHelper.ts +12 -12
  18. package/src/factories/internal/metadata/emend_metadata_atomics.ts +33 -33
  19. package/src/factories/internal/metadata/emplace_metadata_alias.ts +40 -40
  20. package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -34
  21. package/src/factories/internal/metadata/emplace_metadata_object.ts +136 -136
  22. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -50
  23. package/src/factories/internal/metadata/explore_metadata.ts +40 -40
  24. package/src/factories/internal/metadata/iterate_metadata.ts +81 -81
  25. package/src/factories/internal/metadata/iterate_metadata_alias.ts +30 -30
  26. package/src/factories/internal/metadata/iterate_metadata_array.ts +24 -24
  27. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +59 -59
  28. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +33 -33
  29. package/src/factories/internal/metadata/iterate_metadata_collection.ts +133 -133
  30. package/src/factories/internal/metadata/iterate_metadata_constant.ts +58 -58
  31. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +83 -83
  32. package/src/factories/internal/metadata/iterate_metadata_map.ts +41 -41
  33. package/src/factories/internal/metadata/iterate_metadata_native.ts +219 -219
  34. package/src/factories/internal/metadata/iterate_metadata_object.ts +43 -43
  35. package/src/factories/internal/metadata/iterate_metadata_resolve.ts +49 -49
  36. package/src/factories/internal/metadata/iterate_metadata_set.ts +33 -33
  37. package/src/factories/internal/metadata/iterate_metadata_sort.ts +69 -69
  38. package/src/factories/internal/metadata/iterate_metadata_tag.ts +31 -31
  39. package/src/factories/internal/metadata/iterate_metadata_template.ts +38 -38
  40. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +24 -24
  41. package/src/factories/internal/metadata/iterate_metadata_union.ts +24 -24
  42. package/src/factories/internal/protocols/ProtocolMetadataUtil.ts +180 -180
  43. package/src/factories/internal/protocols/emplace_protocol_object.ts +25 -25
  44. package/src/factories/internal/protocols/emplace_protocol_property.ts +12 -12
  45. package/src/factories/internal/protocols/iterate_protocol_atomic.ts +34 -34
  46. package/src/factories/internal/protocols/iterate_protocol_constant.ts +27 -27
  47. package/src/factories/internal/protocols/iterate_protocol_main.ts +19 -19
  48. package/src/factories/internal/protocols/iterate_protocol_map.ts +58 -58
  49. package/src/factories/internal/protocols/iterate_protocol_metadata.ts +96 -96
  50. package/src/factories/internal/protocols/iterate_protocol_native.ts +34 -34
  51. package/src/factories/internal/protocols/iterate_protocol_never.ts +1 -1
  52. package/src/factories/internal/protocols/iterate_protocol_object.ts +110 -110
  53. package/src/factories/internal/protocols/iterate_protocol_repeated.ts +34 -34
  54. package/src/factories/internal/protocols/iterate_protocol_tuple.ts +29 -29
  55. package/src/functional/$number.ts +13 -13
  56. package/src/functional/$proto_bytes.ts +25 -25
  57. package/src/functional/$proto_field.ts +30 -30
  58. package/src/functional/$proto_float.ts +37 -37
  59. package/src/functional/$proto_i32.ts +29 -29
  60. package/src/functional/$proto_i64.ts +37 -37
  61. package/src/functional/$proto_size.ts +82 -82
  62. package/src/functional/$proto_string.ts +24 -24
  63. package/src/functional/$string.ts +32 -19
  64. package/src/functional/$varint.ts +130 -130
  65. package/src/functional/$zigzag.ts +39 -39
  66. package/src/json.ts +648 -648
  67. package/src/misc.ts +651 -651
  68. package/src/module.ts +781 -781
  69. package/src/programmers/CheckerProgrammer.ts +1182 -1182
  70. package/src/programmers/FeatureProgrammer.ts +495 -495
  71. package/src/programmers/IsProgrammer.ts +239 -239
  72. package/src/programmers/IsPruneProgrammer.ts +73 -73
  73. package/src/programmers/RandomProgrammer.ts +581 -581
  74. package/src/programmers/helpers/AtomicPredicator.ts +31 -31
  75. package/src/programmers/helpers/IExpressionEntry.ts +12 -12
  76. package/src/programmers/helpers/PruneJoiner.ts +143 -143
  77. package/src/programmers/helpers/RandomJoiner.ts +173 -173
  78. package/src/programmers/helpers/RandomRanger.ts +216 -216
  79. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  80. package/src/programmers/helpers/UnionExplorer.ts +301 -301
  81. package/src/programmers/helpers/UnionPredicator.ts +81 -81
  82. package/src/programmers/internal/application_alias.ts +66 -66
  83. package/src/programmers/internal/application_array.ts +30 -30
  84. package/src/programmers/internal/application_constant.ts +26 -26
  85. package/src/programmers/internal/application_default.ts +17 -17
  86. package/src/programmers/internal/application_default_string.ts +33 -33
  87. package/src/programmers/internal/application_native.ts +39 -39
  88. package/src/programmers/internal/application_number.ts +77 -77
  89. package/src/programmers/internal/application_object.ts +165 -162
  90. package/src/programmers/internal/application_resolved.ts +55 -55
  91. package/src/programmers/internal/application_schema.ts +157 -157
  92. package/src/programmers/internal/application_string.ts +44 -44
  93. package/src/programmers/internal/application_templates.ts +25 -25
  94. package/src/programmers/internal/application_tuple.ts +57 -57
  95. package/src/programmers/internal/check_array.ts +30 -30
  96. package/src/programmers/internal/check_array_length.ts +35 -35
  97. package/src/programmers/internal/check_bigint.ts +82 -82
  98. package/src/programmers/internal/check_custom.ts +31 -31
  99. package/src/programmers/internal/check_number.ts +177 -177
  100. package/src/programmers/internal/check_string.ts +25 -25
  101. package/src/programmers/internal/check_string_tags.ts +67 -67
  102. package/src/programmers/internal/check_template.ts +56 -56
  103. package/src/programmers/internal/check_union_array_like.ts +329 -329
  104. package/src/programmers/internal/decode_union_object.ts +73 -73
  105. package/src/programmers/internal/feature_object_entries.ts +63 -63
  106. package/src/programmers/internal/get_comment_tags.ts +23 -23
  107. package/src/programmers/internal/metadata_to_pattern.ts +34 -34
  108. package/src/programmers/internal/prune_object_properties.ts +60 -60
  109. package/src/programmers/internal/random_custom.ts +29 -29
  110. package/src/programmers/internal/stringify_regular_properties.ts +83 -83
  111. package/src/programmers/internal/template_to_pattern.ts +15 -15
  112. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -16
  113. package/src/programmers/json/JsonApplicationProgrammer.ts +47 -47
  114. package/src/programmers/json/JsonAssertParseProgrammer.ts +66 -66
  115. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +66 -66
  116. package/src/programmers/json/JsonIsParseProgrammer.ts +72 -72
  117. package/src/programmers/json/JsonIsStringifyProgrammer.ts +76 -76
  118. package/src/programmers/json/JsonStringifyProgrammer.ts +979 -979
  119. package/src/programmers/json/JsonValidateParseProgrammer.ts +70 -70
  120. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +84 -84
  121. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +71 -71
  122. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +68 -68
  123. package/src/programmers/misc/MiscCloneProgrammer.ts +587 -587
  124. package/src/programmers/misc/MiscIsCloneProgrammer.ts +78 -78
  125. package/src/programmers/misc/MiscLiteralsProgrammer.ts +63 -63
  126. package/src/programmers/misc/MiscPruneProgrammer.ts +542 -542
  127. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +85 -85
  128. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +78 -78
  129. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +69 -69
  130. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +66 -66
  131. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +38 -38
  132. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +36 -36
  133. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +75 -75
  134. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +76 -76
  135. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +125 -125
  136. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +83 -83
  137. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +86 -86
  138. package/src/protobuf.ts +210 -210
  139. package/src/schemas/json/IJsonApplication.ts +8 -8
  140. package/src/schemas/json/IJsonComponents.ts +33 -33
  141. package/src/schemas/json/IJsonSchema.ts +133 -133
  142. package/src/schemas/metadata/ICommentTag.ts +4 -4
  143. package/src/schemas/metadata/IJsDocTagInfo.ts +10 -10
  144. package/src/schemas/metadata/IMetadata.ts +28 -28
  145. package/src/schemas/metadata/IMetadataAlias.ts +14 -14
  146. package/src/schemas/metadata/IMetadataApplication.ts +7 -7
  147. package/src/schemas/metadata/IMetadataArray.ts +10 -10
  148. package/src/schemas/metadata/IMetadataCollection.ts +11 -11
  149. package/src/schemas/metadata/IMetadataConstant.ts +16 -16
  150. package/src/schemas/metadata/IMetadataDictionary.ts +14 -14
  151. package/src/schemas/metadata/IMetadataEntry.ts +6 -6
  152. package/src/schemas/metadata/IMetadataObject.ts +18 -18
  153. package/src/schemas/metadata/IMetadataProperty.ts +11 -11
  154. package/src/schemas/metadata/IMetadataResolved.ts +6 -6
  155. package/src/schemas/metadata/IMetadataTag.ts +113 -113
  156. package/src/schemas/metadata/IMetadataTuple.ts +10 -10
  157. package/src/schemas/metadata/Metadata.ts +610 -608
  158. package/src/schemas/metadata/MetadataAlias.ts +66 -66
  159. package/src/schemas/metadata/MetadataArray.ts +55 -55
  160. package/src/schemas/metadata/MetadataConstant.ts +3 -3
  161. package/src/schemas/metadata/MetadataObject.ts +129 -129
  162. package/src/schemas/metadata/MetadataProperty.ts +64 -64
  163. package/src/schemas/metadata/MetadataResolved.ts +51 -51
  164. package/src/schemas/metadata/MetadataTuple.ts +53 -53
  165. package/src/schemas/protobuf/IProtocolMap.ts +5 -5
  166. package/src/schemas/protobuf/IProtocolMessage.ts +6 -6
  167. package/src/schemas/protobuf/IProtocolProperty.ts +13 -13
  168. package/src/transformers/CallExpressionTransformer.ts +240 -240
  169. package/src/transformers/features/AssertTransformer.ts +11 -11
  170. package/src/transformers/features/CreateAssertTransformer.ts +13 -13
  171. package/src/transformers/features/CreateIsTransformer.ts +11 -11
  172. package/src/transformers/features/CreateRandomTransformer.ts +39 -39
  173. package/src/transformers/features/CreateValidateTransformer.ts +13 -13
  174. package/src/transformers/features/IsTransformer.ts +11 -11
  175. package/src/transformers/features/RandomTransformer.ts +42 -42
  176. package/src/transformers/features/ValidateTransformer.ts +11 -11
  177. package/src/transformers/features/json/JsonApplicationTransformer.ts +102 -102
  178. package/src/transformers/features/json/JsonAssertParseTransformer.ts +10 -10
  179. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +10 -10
  180. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +10 -10
  181. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +12 -12
  182. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +9 -9
  183. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +10 -10
  184. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +9 -9
  185. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +10 -10
  186. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +12 -12
  187. package/src/transformers/features/json/JsonIsParseTransformer.ts +9 -9
  188. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +10 -10
  189. package/src/transformers/features/json/JsonStringifyTransformer.ts +9 -9
  190. package/src/transformers/features/json/JsonValidateParseTransformer.ts +10 -10
  191. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +10 -10
  192. package/src/transformers/features/misc/MetadataTransformer.ts +53 -53
  193. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +10 -10
  194. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +10 -10
  195. package/src/transformers/features/misc/MiscCloneTransformer.ts +9 -9
  196. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +10 -10
  197. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +10 -10
  198. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +9 -9
  199. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +9 -9
  200. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +9 -9
  201. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +9 -9
  202. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +10 -10
  203. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +10 -10
  204. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +9 -9
  205. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +9 -9
  206. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +28 -28
  207. package/src/transformers/features/misc/MiscPruneTransformer.ts +9 -9
  208. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +10 -10
  209. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +10 -10
  210. package/src/transformers/features/protobuf/CreateProtobufAssertDecodeTransformer.ts +10 -10
  211. package/src/transformers/features/protobuf/CreateProtobufAssertEncodeTransformer.ts +10 -10
  212. package/src/transformers/features/protobuf/CreateProtobufDecodeTransformer.ts +10 -10
  213. package/src/transformers/features/protobuf/CreateProtobufEncodeTransformer.ts +10 -10
  214. package/src/transformers/features/protobuf/CreateProtobufIsDecodeTransformer.ts +10 -10
  215. package/src/transformers/features/protobuf/CreateProtobufIsEncodeTransformer.ts +10 -10
  216. package/src/transformers/features/protobuf/CreateProtobufValidateDecodeTransformer.ts +10 -10
  217. package/src/transformers/features/protobuf/CreateProtobufValidateEncodeTransformer.ts +10 -10
  218. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +10 -10
  219. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +10 -10
  220. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +10 -10
  221. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +10 -10
  222. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +10 -10
  223. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +10 -10
  224. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +31 -31
  225. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +10 -10
  226. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +10 -10
  227. package/src/utils/NameEncoder.ts +32 -32
@@ -1,10 +1,10 @@
1
- import { JsonValidateParseProgrammer } from "../../../programmers/json/JsonValidateParseProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace JsonValidateParseTransformer {
6
- export const transform = GenericTransformer.scalar("validatParse")(
7
- (project) => (modulo) =>
8
- JsonValidateParseProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { JsonValidateParseProgrammer } from "../../../programmers/json/JsonValidateParseProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace JsonValidateParseTransformer {
6
+ export const transform = GenericTransformer.scalar("validatParse")(
7
+ (project) => (modulo) =>
8
+ JsonValidateParseProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { JsonValidateStringifyProgrammer } from "../../../programmers/json/JsonValidateStringifyProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace JsonValidateStringifyTransformer {
6
- export const transform = GenericTransformer.scalar("validatStringify")(
7
- (project) => (modulo) =>
8
- JsonValidateStringifyProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { JsonValidateStringifyProgrammer } from "../../../programmers/json/JsonValidateStringifyProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace JsonValidateStringifyTransformer {
6
+ export const transform = GenericTransformer.scalar("validatStringify")(
7
+ (project) => (modulo) =>
8
+ JsonValidateStringifyProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,53 +1,53 @@
1
- import ts from "typescript";
2
-
3
- import { LiteralFactory } from "../../../factories/LiteralFactory";
4
- import { MetadataCollection } from "../../../factories/MetadataCollection";
5
- import { MetadataFactory } from "../../../factories/MetadataFactory";
6
-
7
- import { IMetadataApplication } from "../../../schemas/metadata/IMetadataApplication";
8
- import { Metadata } from "../../../schemas/metadata/Metadata";
9
-
10
- import { IProject } from "../../IProject";
11
-
12
- export namespace MetadataTransformer {
13
- export const transform =
14
- ({ checker }: IProject) =>
15
- (expression: ts.CallExpression): ts.Expression => {
16
- if (!expression.typeArguments?.length)
17
- throw new Error(NO_GENERIC_ARGUMENT);
18
-
19
- // VALIDATE TUPLE ARGUMENTS
20
- const top: ts.Node = expression.typeArguments[0]!;
21
- if (!ts.isTupleTypeNode(top)) return expression;
22
- else if (top.elements.some((child) => !ts.isTypeNode(child)))
23
- return expression;
24
-
25
- // GET TYPES
26
- const types: ts.Type[] = top.elements.map((child) =>
27
- checker.getTypeFromTypeNode(child as ts.TypeNode),
28
- );
29
- if (types.some((t) => t.isTypeParameter()))
30
- throw new Error(GENERIC_ARGUMENT);
31
-
32
- // METADATA
33
- const collection: MetadataCollection = new MetadataCollection();
34
- const metadatas: Array<Metadata> = types.map((type) =>
35
- MetadataFactory.analyze(checker)({
36
- resolve: true,
37
- constant: true,
38
- absorb: true,
39
- })(collection)(type),
40
- );
41
-
42
- // CONVERT TO PRIMITIVE TYPE
43
- const app: IMetadataApplication = {
44
- metadatas: metadatas.map((metadata) => metadata.toJSON()),
45
- collection: collection.toJSON(),
46
- };
47
- return LiteralFactory.generate(app);
48
- };
49
- }
50
-
51
- const NO_GENERIC_ARGUMENT = "Error on typia.metadata(): no generic argument.";
52
- const GENERIC_ARGUMENT =
53
- "Error on typia.metadata(): non-specified generic argument(s).";
1
+ import ts from "typescript";
2
+
3
+ import { LiteralFactory } from "../../../factories/LiteralFactory";
4
+ import { MetadataCollection } from "../../../factories/MetadataCollection";
5
+ import { MetadataFactory } from "../../../factories/MetadataFactory";
6
+
7
+ import { IMetadataApplication } from "../../../schemas/metadata/IMetadataApplication";
8
+ import { Metadata } from "../../../schemas/metadata/Metadata";
9
+
10
+ import { IProject } from "../../IProject";
11
+
12
+ export namespace MetadataTransformer {
13
+ export const transform =
14
+ ({ checker }: IProject) =>
15
+ (expression: ts.CallExpression): ts.Expression => {
16
+ if (!expression.typeArguments?.length)
17
+ throw new Error(NO_GENERIC_ARGUMENT);
18
+
19
+ // VALIDATE TUPLE ARGUMENTS
20
+ const top: ts.Node = expression.typeArguments[0]!;
21
+ if (!ts.isTupleTypeNode(top)) return expression;
22
+ else if (top.elements.some((child) => !ts.isTypeNode(child)))
23
+ return expression;
24
+
25
+ // GET TYPES
26
+ const types: ts.Type[] = top.elements.map((child) =>
27
+ checker.getTypeFromTypeNode(child as ts.TypeNode),
28
+ );
29
+ if (types.some((t) => t.isTypeParameter()))
30
+ throw new Error(GENERIC_ARGUMENT);
31
+
32
+ // METADATA
33
+ const collection: MetadataCollection = new MetadataCollection();
34
+ const metadatas: Array<Metadata> = types.map((type) =>
35
+ MetadataFactory.analyze(checker)({
36
+ resolve: true,
37
+ constant: true,
38
+ absorb: true,
39
+ })(collection)(type),
40
+ );
41
+
42
+ // CONVERT TO PRIMITIVE TYPE
43
+ const app: IMetadataApplication = {
44
+ metadatas: metadatas.map((metadata) => metadata.toJSON()),
45
+ collection: collection.toJSON(),
46
+ };
47
+ return LiteralFactory.generate(app);
48
+ };
49
+ }
50
+
51
+ const NO_GENERIC_ARGUMENT = "Error on typia.metadata(): no generic argument.";
52
+ const GENERIC_ARGUMENT =
53
+ "Error on typia.metadata(): non-specified generic argument(s).";
@@ -1,10 +1,10 @@
1
- import { MiscAssertCloneProgrammer } from "../../../programmers/misc/MiscAssertCloneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscAssertCloneTransformer {
6
- export const transform = GenericTransformer.scalar("assertClone")(
7
- (project) => (modulo) =>
8
- MiscAssertCloneProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { MiscAssertCloneProgrammer } from "../../../programmers/misc/MiscAssertCloneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscAssertCloneTransformer {
6
+ export const transform = GenericTransformer.scalar("assertClone")(
7
+ (project) => (modulo) =>
8
+ MiscAssertCloneProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { MiscAssertPruneProgrammer } from "../../../programmers/misc/MiscAssertPruneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscAssertPruneTransformer {
6
- export const transform = GenericTransformer.scalar("assertPrune")(
7
- (project) => (modulo) =>
8
- MiscAssertPruneProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { MiscAssertPruneProgrammer } from "../../../programmers/misc/MiscAssertPruneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscAssertPruneTransformer {
6
+ export const transform = GenericTransformer.scalar("assertPrune")(
7
+ (project) => (modulo) =>
8
+ MiscAssertPruneProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,9 +1,9 @@
1
- import { MiscCloneProgrammer } from "../../../programmers/misc/MiscCloneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCloneTransformer {
6
- export const transform = GenericTransformer.scalar("clone")(
7
- (project) => (modulo) => MiscCloneProgrammer.write(project)(modulo),
8
- );
9
- }
1
+ import { MiscCloneProgrammer } from "../../../programmers/misc/MiscCloneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCloneTransformer {
6
+ export const transform = GenericTransformer.scalar("clone")(
7
+ (project) => (modulo) => MiscCloneProgrammer.write(project)(modulo),
8
+ );
9
+ }
@@ -1,10 +1,10 @@
1
- import { MiscAssertCloneProgrammer } from "../../../programmers/misc/MiscAssertCloneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCreateAssertCloneTransformer {
6
- export const transform = GenericTransformer.factory("createAssertClone")(
7
- (project) => (modulo) =>
8
- MiscAssertCloneProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { MiscAssertCloneProgrammer } from "../../../programmers/misc/MiscAssertCloneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCreateAssertCloneTransformer {
6
+ export const transform = GenericTransformer.factory("createAssertClone")(
7
+ (project) => (modulo) =>
8
+ MiscAssertCloneProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { MiscAssertPruneProgrammer } from "../../../programmers/misc/MiscAssertPruneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCreateAssertPruneTransformer {
6
- export const transform = GenericTransformer.factory("createAssertPrune")(
7
- (project) => (modulo) =>
8
- MiscAssertPruneProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { MiscAssertPruneProgrammer } from "../../../programmers/misc/MiscAssertPruneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCreateAssertPruneTransformer {
6
+ export const transform = GenericTransformer.factory("createAssertPrune")(
7
+ (project) => (modulo) =>
8
+ MiscAssertPruneProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,9 +1,9 @@
1
- import { MiscCloneProgrammer } from "../../../programmers/misc/MiscCloneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCreateCloneTransformer {
6
- export const transform = GenericTransformer.factory("createClone")(
7
- (project) => (modulo) => MiscCloneProgrammer.write(project)(modulo),
8
- );
9
- }
1
+ import { MiscCloneProgrammer } from "../../../programmers/misc/MiscCloneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCreateCloneTransformer {
6
+ export const transform = GenericTransformer.factory("createClone")(
7
+ (project) => (modulo) => MiscCloneProgrammer.write(project)(modulo),
8
+ );
9
+ }
@@ -1,9 +1,9 @@
1
- import { MiscIsCloneProgrammer } from "../../../programmers/misc/MiscIsCloneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCreateIsCloneTransformer {
6
- export const transform = GenericTransformer.factory("createIsClone")(
7
- (project) => (modulo) => MiscIsCloneProgrammer.write(project)(modulo),
8
- );
9
- }
1
+ import { MiscIsCloneProgrammer } from "../../../programmers/misc/MiscIsCloneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCreateIsCloneTransformer {
6
+ export const transform = GenericTransformer.factory("createIsClone")(
7
+ (project) => (modulo) => MiscIsCloneProgrammer.write(project)(modulo),
8
+ );
9
+ }
@@ -1,9 +1,9 @@
1
- import { IsPruneProgrammer } from "../../../programmers/IsPruneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCreateIsPruneTransformer {
6
- export const transform = GenericTransformer.factory("createIsPrune")(
7
- (project) => (modulo) => IsPruneProgrammer.write(project)(modulo),
8
- );
9
- }
1
+ import { IsPruneProgrammer } from "../../../programmers/IsPruneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCreateIsPruneTransformer {
6
+ export const transform = GenericTransformer.factory("createIsPrune")(
7
+ (project) => (modulo) => IsPruneProgrammer.write(project)(modulo),
8
+ );
9
+ }
@@ -1,9 +1,9 @@
1
- import { MiscPruneProgrammer } from "../../../programmers/misc/MiscPruneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCreatePruneTransformer {
6
- export const transform = GenericTransformer.factory("createPrune")(
7
- (project) => (modulo) => MiscPruneProgrammer.write(project)(modulo),
8
- );
9
- }
1
+ import { MiscPruneProgrammer } from "../../../programmers/misc/MiscPruneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCreatePruneTransformer {
6
+ export const transform = GenericTransformer.factory("createPrune")(
7
+ (project) => (modulo) => MiscPruneProgrammer.write(project)(modulo),
8
+ );
9
+ }
@@ -1,10 +1,10 @@
1
- import { MiscValidateCloneProgrammer } from "../../../programmers/misc/MiscValidateCloneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCreateValidateCloneTransformer {
6
- export const transform = GenericTransformer.factory("createValidateClone")(
7
- (project) => (modulo) =>
8
- MiscValidateCloneProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { MiscValidateCloneProgrammer } from "../../../programmers/misc/MiscValidateCloneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCreateValidateCloneTransformer {
6
+ export const transform = GenericTransformer.factory("createValidateClone")(
7
+ (project) => (modulo) =>
8
+ MiscValidateCloneProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { MiscValidatePruneProgrammer } from "../../../programmers/misc/MiscValidatePruneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscCreateValidatePruneTransformer {
6
- export const transform = GenericTransformer.factory("createValidatePrune")(
7
- (project) => (modulo) =>
8
- MiscValidatePruneProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { MiscValidatePruneProgrammer } from "../../../programmers/misc/MiscValidatePruneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscCreateValidatePruneTransformer {
6
+ export const transform = GenericTransformer.factory("createValidatePrune")(
7
+ (project) => (modulo) =>
8
+ MiscValidatePruneProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,9 +1,9 @@
1
- import { MiscIsCloneProgrammer } from "../../../programmers/misc/MiscIsCloneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscIsCloneTransformer {
6
- export const transform = GenericTransformer.scalar("isClone")(
7
- (project) => (modulo) => MiscIsCloneProgrammer.write(project)(modulo),
8
- );
9
- }
1
+ import { MiscIsCloneProgrammer } from "../../../programmers/misc/MiscIsCloneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscIsCloneTransformer {
6
+ export const transform = GenericTransformer.scalar("isClone")(
7
+ (project) => (modulo) => MiscIsCloneProgrammer.write(project)(modulo),
8
+ );
9
+ }
@@ -1,9 +1,9 @@
1
- import { IsPruneProgrammer } from "../../../programmers/IsPruneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscIsPruneTransformer {
6
- export const transform = GenericTransformer.scalar("isPrune")(
7
- (project) => (modulo) => IsPruneProgrammer.write(project)(modulo),
8
- );
9
- }
1
+ import { IsPruneProgrammer } from "../../../programmers/IsPruneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscIsPruneTransformer {
6
+ export const transform = GenericTransformer.scalar("isPrune")(
7
+ (project) => (modulo) => IsPruneProgrammer.write(project)(modulo),
8
+ );
9
+ }
@@ -1,28 +1,28 @@
1
- import ts from "typescript";
2
-
3
- import { MiscLiteralsProgrammer } from "../../../programmers/misc/MiscLiteralsProgrammer";
4
-
5
- import { IProject } from "../../IProject";
6
-
7
- export namespace MiscLiteralsTransformer {
8
- export const transform =
9
- (project: IProject) =>
10
- (expression: ts.CallExpression): ts.Expression => {
11
- // CHECK GENERIC ARGUMENT EXISTENCE
12
- if (!expression.typeArguments?.[0]) throw new Error(NOT_SPECIFIED);
13
-
14
- // GET TYPE INFO
15
- const node: ts.TypeNode = expression.typeArguments[0];
16
- const type: ts.Type = project.checker.getTypeFromTypeNode(node);
17
-
18
- if (type.isTypeParameter()) throw new Error(NO_GENERIC_ARGUMENT);
19
-
20
- // DO TRANSFORM
21
- return MiscLiteralsProgrammer.write(project)(type);
22
- };
23
- }
24
-
25
- const NOT_SPECIFIED =
26
- "Error on typia.literals(): generic argument is not specified.";
27
- const NO_GENERIC_ARGUMENT =
28
- "Error on typia.literals(): non-specified generic argument.";
1
+ import ts from "typescript";
2
+
3
+ import { MiscLiteralsProgrammer } from "../../../programmers/misc/MiscLiteralsProgrammer";
4
+
5
+ import { IProject } from "../../IProject";
6
+
7
+ export namespace MiscLiteralsTransformer {
8
+ export const transform =
9
+ (project: IProject) =>
10
+ (expression: ts.CallExpression): ts.Expression => {
11
+ // CHECK GENERIC ARGUMENT EXISTENCE
12
+ if (!expression.typeArguments?.[0]) throw new Error(NOT_SPECIFIED);
13
+
14
+ // GET TYPE INFO
15
+ const node: ts.TypeNode = expression.typeArguments[0];
16
+ const type: ts.Type = project.checker.getTypeFromTypeNode(node);
17
+
18
+ if (type.isTypeParameter()) throw new Error(NO_GENERIC_ARGUMENT);
19
+
20
+ // DO TRANSFORM
21
+ return MiscLiteralsProgrammer.write(project)(type);
22
+ };
23
+ }
24
+
25
+ const NOT_SPECIFIED =
26
+ "Error on typia.literals(): generic argument is not specified.";
27
+ const NO_GENERIC_ARGUMENT =
28
+ "Error on typia.literals(): non-specified generic argument.";
@@ -1,9 +1,9 @@
1
- import { MiscPruneProgrammer } from "../../../programmers/misc/MiscPruneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscPruneTransformer {
6
- export const transform = GenericTransformer.scalar("prune")(
7
- (project) => (modulo) => MiscPruneProgrammer.write(project)(modulo),
8
- );
9
- }
1
+ import { MiscPruneProgrammer } from "../../../programmers/misc/MiscPruneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscPruneTransformer {
6
+ export const transform = GenericTransformer.scalar("prune")(
7
+ (project) => (modulo) => MiscPruneProgrammer.write(project)(modulo),
8
+ );
9
+ }
@@ -1,10 +1,10 @@
1
- import { MiscValidateCloneProgrammer } from "../../../programmers/misc/MiscValidateCloneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscValidateCloneTransformer {
6
- export const transform = GenericTransformer.scalar("validatClone")(
7
- (project) => (modulo) =>
8
- MiscValidateCloneProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { MiscValidateCloneProgrammer } from "../../../programmers/misc/MiscValidateCloneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscValidateCloneTransformer {
6
+ export const transform = GenericTransformer.scalar("validatClone")(
7
+ (project) => (modulo) =>
8
+ MiscValidateCloneProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { MiscValidatePruneProgrammer } from "../../../programmers/misc/MiscValidatePruneProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace MiscValidatePruneTransformer {
6
- export const transform = GenericTransformer.scalar("validatPrune")(
7
- (project) => (modulo) =>
8
- MiscValidatePruneProgrammer.write(project)(modulo),
9
- );
10
- }
1
+ import { MiscValidatePruneProgrammer } from "../../../programmers/misc/MiscValidatePruneProgrammer";
2
+
3
+ import { GenericTransformer } from "../../internal/GenericTransformer";
4
+
5
+ export namespace MiscValidatePruneTransformer {
6
+ export const transform = GenericTransformer.scalar("validatPrune")(
7
+ (project) => (modulo) =>
8
+ MiscValidatePruneProgrammer.write(project)(modulo),
9
+ );
10
+ }
@@ -1,10 +1,10 @@
1
- import { ProtobufAssertDecodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertDecodeProgrammer";
2
-
3
- import { GenericTransformer } from "../../internal/GenericTransformer";
4
-
5
- export namespace CreateProtobufAssertDecodeTransformer {
6
- export const transform = GenericTransformer.factory("createAssertDecode")(
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 CreateProtobufAssertDecodeTransformer {
6
+ export const transform = GenericTransformer.factory("createAssertDecode")(
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 CreateProtobufAssertEncodeTransformer {
6
- export const transform = GenericTransformer.factory("createAssertEncode")(
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 CreateProtobufAssertEncodeTransformer {
6
+ export const transform = GenericTransformer.factory("createAssertEncode")(
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 CreateProtobufDecodeTransformer {
6
- export const transform = GenericTransformer.factory("createDecode")(
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 CreateProtobufDecodeTransformer {
6
+ export const transform = GenericTransformer.factory("createDecode")(
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 CreateProtobufEncodeTransformer {
6
- export const transform = GenericTransformer.factory("createEncode")(
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 CreateProtobufEncodeTransformer {
6
+ export const transform = GenericTransformer.factory("createEncode")(
7
+ (project) => (modulo) =>
8
+ ProtobufEncodeProgrammer.write(project)(modulo),
9
+ );
10
+ }