typia 7.0.0-dev.20241007 → 7.0.0-dev.20241009

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 (244) hide show
  1. package/lib/factories/ExpressionFactory.d.ts +1 -1
  2. package/lib/factories/ValueFactory.d.ts +1 -1
  3. package/lib/internal/$jsonStringifyString.d.ts +13 -1
  4. package/lib/internal/$jsonStringifyString.js +0 -1
  5. package/lib/internal/$jsonStringifyString.js.map +1 -1
  6. package/lib/programmers/AssertProgrammer.d.ts +5 -2
  7. package/lib/programmers/AssertProgrammer.js +12 -5
  8. package/lib/programmers/AssertProgrammer.js.map +1 -1
  9. package/lib/programmers/ImportProgrammer.d.ts +25 -4
  10. package/lib/programmers/ImportProgrammer.js +67 -31
  11. package/lib/programmers/ImportProgrammer.js.map +1 -1
  12. package/lib/programmers/RandomProgrammer.js +48 -32
  13. package/lib/programmers/RandomProgrammer.js.map +1 -1
  14. package/lib/programmers/ValidateProgrammer.js +10 -4
  15. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  16. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +1 -1
  17. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
  18. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.d.ts +1 -0
  19. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +14 -5
  20. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -1
  21. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +5 -1
  22. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  23. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +1 -0
  24. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  25. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +4 -1
  26. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  27. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +4 -1
  28. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  29. package/lib/programmers/http/HttpAssertQueryProgrammer.js +4 -1
  30. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  31. package/lib/programmers/http/HttpFormDataProgrammer.js +10 -6
  32. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  33. package/lib/programmers/http/HttpHeadersProgrammer.js +10 -6
  34. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  35. package/lib/programmers/http/HttpQueryProgrammer.js +10 -6
  36. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  37. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +5 -3
  38. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  39. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +5 -3
  40. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  41. package/lib/programmers/http/HttpValidateQueryProgrammer.js +5 -3
  42. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  43. package/lib/programmers/json/JsonAssertParseProgrammer.js +14 -7
  44. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  45. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +4 -1
  46. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  47. package/lib/programmers/json/JsonIsParseProgrammer.js +10 -6
  48. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  49. package/lib/programmers/json/JsonValidateParseProgrammer.js +16 -4
  50. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  51. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +7 -3
  52. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  53. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +4 -1
  54. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  55. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +4 -1
  56. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  57. package/lib/programmers/misc/MiscCloneProgrammer.js +10 -6
  58. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  59. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +5 -3
  60. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  61. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +10 -4
  62. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  63. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +4 -1
  64. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  65. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +2 -1
  66. package/lib/programmers/notations/NotationGeneralProgrammer.js +13 -5
  67. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  68. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +5 -3
  69. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  70. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +4 -1
  71. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  72. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +4 -1
  73. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  74. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +10 -6
  75. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  76. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +5 -3
  77. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  78. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +7 -3
  79. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  80. package/package.json +1 -1
  81. package/src/factories/JsonMetadataFactory.ts +63 -63
  82. package/src/factories/ProtobufFactory.ts +275 -275
  83. package/src/internal/$jsonStringifyString.ts +0 -1
  84. package/src/programmers/AssertProgrammer.ts +454 -456
  85. package/src/programmers/CheckerProgrammer.ts +1610 -1610
  86. package/src/programmers/ImportProgrammer.ts +184 -109
  87. package/src/programmers/IsProgrammer.ts +273 -273
  88. package/src/programmers/RandomProgrammer.ts +168 -149
  89. package/src/programmers/TypiaProgrammer.ts +171 -171
  90. package/src/programmers/ValidateProgrammer.ts +434 -430
  91. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +1 -1
  92. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +12 -16
  93. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +5 -12
  94. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +1 -0
  95. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  96. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -96
  97. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -96
  98. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -102
  99. package/src/programmers/http/HttpFormDataProgrammer.ts +304 -308
  100. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -404
  101. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  102. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  103. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  104. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  105. package/src/programmers/http/HttpQueryProgrammer.ts +329 -333
  106. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -90
  107. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -90
  108. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -96
  109. package/src/programmers/json/JsonApplicationProgrammer.ts +92 -92
  110. package/src/programmers/json/JsonAssertParseProgrammer.ts +103 -104
  111. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -112
  112. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -118
  113. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  114. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  115. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -95
  116. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -119
  117. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -92
  118. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -113
  119. package/src/programmers/misc/MiscCloneProgrammer.ts +1025 -1029
  120. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  121. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  122. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  123. package/src/programmers/misc/MiscPruneProgrammer.ts +725 -725
  124. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -109
  125. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -109
  126. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -98
  127. package/src/programmers/notations/NotationGeneralProgrammer.ts +977 -973
  128. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  129. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -117
  130. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -95
  131. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -99
  132. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +708 -711
  133. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +1019 -1019
  134. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  135. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  136. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -90
  137. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -114
  138. package/src/transform.ts +35 -35
  139. package/src/transformers/CallExpressionTransformer.ts +540 -540
  140. package/src/transformers/FileTransformer.ts +120 -120
  141. package/src/transformers/IProgrammerProps.ts +11 -11
  142. package/src/transformers/ITransformOptions.ts +62 -62
  143. package/src/transformers/ITransformProps.ts +9 -9
  144. package/src/transformers/ITypiaContext.ts +18 -18
  145. package/src/transformers/ImportTransformer.ts +66 -66
  146. package/src/transformers/NodeTransformer.ts +17 -17
  147. package/src/transformers/TransformerError.ts +59 -59
  148. package/src/transformers/features/AssertTransformer.ts +24 -24
  149. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  150. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  151. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  152. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  153. package/src/transformers/features/IsTransformer.ts +18 -18
  154. package/src/transformers/features/RandomTransformer.ts +41 -41
  155. package/src/transformers/features/ValidateTransformer.ts +18 -18
  156. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  157. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  158. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  159. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  160. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  161. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  162. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  163. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  164. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  165. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  166. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  167. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  168. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  169. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  170. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  171. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  172. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  173. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  174. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  175. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  176. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  177. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  178. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  179. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  180. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  181. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  182. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  183. package/src/transformers/features/json/JsonApplicationTransformer.ts +130 -130
  184. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  185. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  186. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  187. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  188. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  189. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  190. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  191. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  192. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  193. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  194. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  195. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  196. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  197. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  198. package/src/transformers/features/llm/LlmApplicationTransformer.ts +86 -86
  199. package/src/transformers/features/llm/LlmSchemaTransformer.ts +59 -59
  200. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  201. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  202. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  203. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  204. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  205. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  206. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  207. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  208. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  209. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  210. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  211. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  212. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  213. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  214. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  215. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  216. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  217. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  218. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  219. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  220. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  221. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  222. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  223. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  224. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  225. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  226. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  227. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  228. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  229. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  230. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  231. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  232. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  233. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  234. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  235. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  236. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  237. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  238. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  239. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  240. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  241. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  242. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  243. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  244. package/src/transformers/internal/GenericTransformer.ts +101 -101
@@ -1,13 +1,13 @@
1
- import { ProtobufAssertEncodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertEncodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufAssertEncodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.scalar({
9
- ...props,
10
- method: "protobuf.assertEncode",
11
- write: ProtobufAssertEncodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufAssertEncodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertEncodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufAssertEncodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.scalar({
9
+ ...props,
10
+ method: "protobuf.assertEncode",
11
+ write: ProtobufAssertEncodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufAssertDecodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertDecodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufCreateAssertDecodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.factory({
9
- ...props,
10
- method: "protobuf.createAssertDecode",
11
- write: ProtobufAssertDecodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufAssertDecodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertDecodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufCreateAssertDecodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.factory({
9
+ ...props,
10
+ method: "protobuf.createAssertDecode",
11
+ write: ProtobufAssertDecodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufAssertEncodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertEncodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufCreateAssertEncodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.factory({
9
- ...props,
10
- method: "protobuf.createAssertEncode",
11
- write: ProtobufAssertEncodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufAssertEncodeProgrammer } from "../../../programmers/protobuf/ProtobufAssertEncodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufCreateAssertEncodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.factory({
9
+ ...props,
10
+ method: "protobuf.createAssertEncode",
11
+ write: ProtobufAssertEncodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufDecodeProgrammer } from "../../../programmers/protobuf/ProtobufDecodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufCreateDecodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.factory({
9
- ...props,
10
- method: "protobuf.createDecode",
11
- write: ProtobufDecodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufDecodeProgrammer } from "../../../programmers/protobuf/ProtobufDecodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufCreateDecodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.factory({
9
+ ...props,
10
+ method: "protobuf.createDecode",
11
+ write: ProtobufDecodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufEncodeProgrammer } from "../../../programmers/protobuf/ProtobufEncodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufCreateEncodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.factory({
9
- ...props,
10
- method: "protobuf.createEncode",
11
- write: ProtobufEncodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufEncodeProgrammer } from "../../../programmers/protobuf/ProtobufEncodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufCreateEncodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.factory({
9
+ ...props,
10
+ method: "protobuf.createEncode",
11
+ write: ProtobufEncodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufIsDecodeProgrammer } from "../../../programmers/protobuf/ProtobufIsDecodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufCreateIsDecodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.factory({
9
- ...props,
10
- method: "protobuf.createIsDecode",
11
- write: ProtobufIsDecodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufIsDecodeProgrammer } from "../../../programmers/protobuf/ProtobufIsDecodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufCreateIsDecodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.factory({
9
+ ...props,
10
+ method: "protobuf.createIsDecode",
11
+ write: ProtobufIsDecodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufIsEncodeProgrammer } from "../../../programmers/protobuf/ProtobufIsEncodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufCreateIsEncodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.factory({
9
- ...props,
10
- method: "protobuf.createIsEncode",
11
- write: ProtobufIsEncodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufIsEncodeProgrammer } from "../../../programmers/protobuf/ProtobufIsEncodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufCreateIsEncodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.factory({
9
+ ...props,
10
+ method: "protobuf.createIsEncode",
11
+ write: ProtobufIsEncodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufValidateDecodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateDecodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufCreateValidateDecodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.factory({
9
- ...props,
10
- method: "protobuf.createValidateDecode",
11
- write: ProtobufValidateDecodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufValidateDecodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateDecodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufCreateValidateDecodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.factory({
9
+ ...props,
10
+ method: "protobuf.createValidateDecode",
11
+ write: ProtobufValidateDecodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufValidateEncodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateEncodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufCreateValidateEncodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.factory({
9
- ...props,
10
- method: "protobuf.createValidateEncode",
11
- write: ProtobufValidateEncodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufValidateEncodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateEncodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufCreateValidateEncodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.factory({
9
+ ...props,
10
+ method: "protobuf.createValidateEncode",
11
+ write: ProtobufValidateEncodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufDecodeProgrammer } from "../../../programmers/protobuf/ProtobufDecodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufDecodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.scalar({
9
- ...props,
10
- method: "protobuf.decode",
11
- write: ProtobufDecodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufDecodeProgrammer } from "../../../programmers/protobuf/ProtobufDecodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufDecodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.scalar({
9
+ ...props,
10
+ method: "protobuf.decode",
11
+ write: ProtobufDecodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufEncodeProgrammer } from "../../../programmers/protobuf/ProtobufEncodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufEncodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.scalar({
9
- ...props,
10
- method: "protobuf.encode",
11
- write: ProtobufEncodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufEncodeProgrammer } from "../../../programmers/protobuf/ProtobufEncodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufEncodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.scalar({
9
+ ...props,
10
+ method: "protobuf.encode",
11
+ write: ProtobufEncodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufIsDecodeProgrammer } from "../../../programmers/protobuf/ProtobufIsDecodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufIsDecodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.scalar({
9
- ...props,
10
- method: "protobuf.isDecode",
11
- write: ProtobufIsDecodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufIsDecodeProgrammer } from "../../../programmers/protobuf/ProtobufIsDecodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufIsDecodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.scalar({
9
+ ...props,
10
+ method: "protobuf.isDecode",
11
+ write: ProtobufIsDecodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufIsEncodeProgrammer } from "../../../programmers/protobuf/ProtobufIsEncodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufIsEncodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.scalar({
9
- ...props,
10
- method: "protobuf.isEncode",
11
- write: ProtobufIsEncodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufIsEncodeProgrammer } from "../../../programmers/protobuf/ProtobufIsEncodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufIsEncodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.scalar({
9
+ ...props,
10
+ method: "protobuf.isEncode",
11
+ write: ProtobufIsEncodeProgrammer.write,
12
+ });
13
+ }
@@ -1,35 +1,35 @@
1
- import ts from "typescript";
2
-
3
- import { ProtobufMessageProgrammer } from "../../../programmers/protobuf/ProtobufMessageProgrammer";
4
-
5
- import { ITransformProps } from "../../ITransformProps";
6
- import { TransformerError } from "../../TransformerError";
7
-
8
- export namespace ProtobufMessageTransformer {
9
- export const transform = (
10
- props: Pick<ITransformProps, "context" | "expression">,
11
- ): ts.Expression => {
12
- // CHECK GENERIC ARGUMENT EXISTENCE
13
- if (!props.expression.typeArguments || !props.expression.typeArguments[0])
14
- throw new TransformerError({
15
- code: "typia.protobuf.message",
16
- message: "generic argument is not specified.",
17
- });
18
-
19
- // GET TYPE INFO
20
- const type: ts.Type = props.context.checker.getTypeFromTypeNode(
21
- props.expression.typeArguments[0],
22
- );
23
- if (type.isTypeParameter())
24
- throw new TransformerError({
25
- code: "tyipa.protobuf.message",
26
- message: "non-specified generic argument.",
27
- });
28
-
29
- // DO TRANSFORM
30
- return ProtobufMessageProgrammer.write({
31
- context: props.context,
32
- type,
33
- });
34
- };
35
- }
1
+ import ts from "typescript";
2
+
3
+ import { ProtobufMessageProgrammer } from "../../../programmers/protobuf/ProtobufMessageProgrammer";
4
+
5
+ import { ITransformProps } from "../../ITransformProps";
6
+ import { TransformerError } from "../../TransformerError";
7
+
8
+ export namespace ProtobufMessageTransformer {
9
+ export const transform = (
10
+ props: Pick<ITransformProps, "context" | "expression">,
11
+ ): ts.Expression => {
12
+ // CHECK GENERIC ARGUMENT EXISTENCE
13
+ if (!props.expression.typeArguments || !props.expression.typeArguments[0])
14
+ throw new TransformerError({
15
+ code: "typia.protobuf.message",
16
+ message: "generic argument is not specified.",
17
+ });
18
+
19
+ // GET TYPE INFO
20
+ const type: ts.Type = props.context.checker.getTypeFromTypeNode(
21
+ props.expression.typeArguments[0],
22
+ );
23
+ if (type.isTypeParameter())
24
+ throw new TransformerError({
25
+ code: "tyipa.protobuf.message",
26
+ message: "non-specified generic argument.",
27
+ });
28
+
29
+ // DO TRANSFORM
30
+ return ProtobufMessageProgrammer.write({
31
+ context: props.context,
32
+ type,
33
+ });
34
+ };
35
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufValidateDecodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateDecodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufValidateDecodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.scalar({
9
- ...props,
10
- method: "protobuf.validateDecode",
11
- write: ProtobufValidateDecodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufValidateDecodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateDecodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufValidateDecodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.scalar({
9
+ ...props,
10
+ method: "protobuf.validateDecode",
11
+ write: ProtobufValidateDecodeProgrammer.write,
12
+ });
13
+ }
@@ -1,13 +1,13 @@
1
- import { ProtobufValidateEncodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateEncodeProgrammer";
2
-
3
- import { ITransformProps } from "../../ITransformProps";
4
- import { GenericTransformer } from "../../internal/GenericTransformer";
5
-
6
- export namespace ProtobufValidateEncodeTransformer {
7
- export const transform = (props: ITransformProps) =>
8
- GenericTransformer.scalar({
9
- ...props,
10
- method: "protobuf.validateEncode",
11
- write: ProtobufValidateEncodeProgrammer.write,
12
- });
13
- }
1
+ import { ProtobufValidateEncodeProgrammer } from "../../../programmers/protobuf/ProtobufValidateEncodeProgrammer";
2
+
3
+ import { ITransformProps } from "../../ITransformProps";
4
+ import { GenericTransformer } from "../../internal/GenericTransformer";
5
+
6
+ export namespace ProtobufValidateEncodeTransformer {
7
+ export const transform = (props: ITransformProps) =>
8
+ GenericTransformer.scalar({
9
+ ...props,
10
+ method: "protobuf.validateEncode",
11
+ write: ProtobufValidateEncodeProgrammer.write,
12
+ });
13
+ }
@@ -1,69 +1,69 @@
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 { ITransformProps } from "../../ITransformProps";
11
- import { TransformerError } from "../../TransformerError";
12
-
13
- export namespace ReflectMetadataTransformer {
14
- export const transform = (
15
- props: Pick<ITransformProps, "context" | "expression">,
16
- ): ts.Expression => {
17
- if (!props.expression.typeArguments?.length)
18
- throw new TransformerError({
19
- code: "typia.reflect.metadata",
20
- message: "no generic argument.",
21
- });
22
-
23
- // VALIDATE TUPLE ARGUMENTS
24
- const top: ts.Node = props.expression.typeArguments[0]!;
25
- if (!ts.isTupleTypeNode(top)) return props.expression;
26
- else if (top.elements.some((child) => !ts.isTypeNode(child)))
27
- return props.expression;
28
-
29
- // GET TYPES
30
- const types: ts.Type[] = top.elements.map((child) =>
31
- props.context.checker.getTypeFromTypeNode(child as ts.TypeNode),
32
- );
33
- if (types.some((t) => t.isTypeParameter()))
34
- throw new TransformerError({
35
- code: "typia.reflect.metadata",
36
- message: "non-specified generic argument(s).",
37
- });
38
-
39
- // METADATA
40
- const collection: MetadataCollection = new MetadataCollection();
41
- const metadatas: Array<Metadata> = types.map((type) => {
42
- const result = MetadataFactory.analyze({
43
- checker: props.context.checker,
44
- transformer: props.context.transformer,
45
- options: {
46
- escape: true,
47
- constant: true,
48
- absorb: true,
49
- functional: true,
50
- },
51
- collection,
52
- type,
53
- });
54
- if (result.success === false)
55
- throw TransformerError.from({
56
- code: "typia.reflect.metadata",
57
- errors: result.errors,
58
- });
59
- return result.data;
60
- });
61
-
62
- // CONVERT TO PRIMITIVE TYPE
63
- const app: IMetadataApplication = {
64
- metadatas: metadatas.map((metadata) => metadata.toJSON()),
65
- components: collection.toJSON(),
66
- };
67
- return LiteralFactory.write(app);
68
- };
69
- }
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 { ITransformProps } from "../../ITransformProps";
11
+ import { TransformerError } from "../../TransformerError";
12
+
13
+ export namespace ReflectMetadataTransformer {
14
+ export const transform = (
15
+ props: Pick<ITransformProps, "context" | "expression">,
16
+ ): ts.Expression => {
17
+ if (!props.expression.typeArguments?.length)
18
+ throw new TransformerError({
19
+ code: "typia.reflect.metadata",
20
+ message: "no generic argument.",
21
+ });
22
+
23
+ // VALIDATE TUPLE ARGUMENTS
24
+ const top: ts.Node = props.expression.typeArguments[0]!;
25
+ if (!ts.isTupleTypeNode(top)) return props.expression;
26
+ else if (top.elements.some((child) => !ts.isTypeNode(child)))
27
+ return props.expression;
28
+
29
+ // GET TYPES
30
+ const types: ts.Type[] = top.elements.map((child) =>
31
+ props.context.checker.getTypeFromTypeNode(child as ts.TypeNode),
32
+ );
33
+ if (types.some((t) => t.isTypeParameter()))
34
+ throw new TransformerError({
35
+ code: "typia.reflect.metadata",
36
+ message: "non-specified generic argument(s).",
37
+ });
38
+
39
+ // METADATA
40
+ const collection: MetadataCollection = new MetadataCollection();
41
+ const metadatas: Array<Metadata> = types.map((type) => {
42
+ const result = MetadataFactory.analyze({
43
+ checker: props.context.checker,
44
+ transformer: props.context.transformer,
45
+ options: {
46
+ escape: true,
47
+ constant: true,
48
+ absorb: true,
49
+ functional: true,
50
+ },
51
+ collection,
52
+ type,
53
+ });
54
+ if (result.success === false)
55
+ throw TransformerError.from({
56
+ code: "typia.reflect.metadata",
57
+ errors: result.errors,
58
+ });
59
+ return result.data;
60
+ });
61
+
62
+ // CONVERT TO PRIMITIVE TYPE
63
+ const app: IMetadataApplication = {
64
+ metadatas: metadatas.map((metadata) => metadata.toJSON()),
65
+ components: collection.toJSON(),
66
+ };
67
+ return LiteralFactory.write(app);
68
+ };
69
+ }