typia 5.0.0-dev.20230730 → 5.0.0-dev.20230808

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