@typia/transform 12.0.0-dev.20260307-2 → 12.0.0-dev.20260310

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 (171) hide show
  1. package/lib/CallExpressionTransformer.js +8 -0
  2. package/lib/CallExpressionTransformer.js.map +1 -1
  3. package/lib/CallExpressionTransformer.mjs +8 -0
  4. package/lib/CallExpressionTransformer.mjs.map +1 -1
  5. package/lib/features/json/JsonApplicationTransformer.js +3 -4
  6. package/lib/features/json/JsonApplicationTransformer.js.map +1 -1
  7. package/lib/features/json/JsonApplicationTransformer.mjs +4 -5
  8. package/lib/features/json/JsonApplicationTransformer.mjs.map +1 -1
  9. package/lib/features/json/JsonSchemaTransformer.js +2 -8
  10. package/lib/features/json/JsonSchemaTransformer.js.map +1 -1
  11. package/lib/features/json/JsonSchemaTransformer.mjs +3 -9
  12. package/lib/features/json/JsonSchemaTransformer.mjs.map +1 -1
  13. package/lib/features/json/JsonSchemasTransformer.js +2 -8
  14. package/lib/features/json/JsonSchemasTransformer.js.map +1 -1
  15. package/lib/features/json/JsonSchemasTransformer.mjs +3 -9
  16. package/lib/features/json/JsonSchemasTransformer.mjs.map +1 -1
  17. package/lib/features/llm/LlmApplicationTransformer.js +56 -20
  18. package/lib/features/llm/LlmApplicationTransformer.js.map +1 -1
  19. package/lib/features/llm/LlmApplicationTransformer.mjs +56 -20
  20. package/lib/features/llm/LlmApplicationTransformer.mjs.map +1 -1
  21. package/lib/features/llm/LlmCoerceTransformer.d.ts +5 -0
  22. package/lib/features/llm/LlmCoerceTransformer.js +81 -0
  23. package/lib/features/llm/LlmCoerceTransformer.js.map +1 -0
  24. package/lib/features/llm/LlmCoerceTransformer.mjs +77 -0
  25. package/lib/features/llm/LlmCoerceTransformer.mjs.map +1 -0
  26. package/lib/features/llm/LlmControllerTransformer.js +12 -10
  27. package/lib/features/llm/LlmControllerTransformer.js.map +1 -1
  28. package/lib/features/llm/LlmControllerTransformer.mjs +12 -10
  29. package/lib/features/llm/LlmControllerTransformer.mjs.map +1 -1
  30. package/lib/features/llm/LlmCreateCoerceTransformer.d.ts +5 -0
  31. package/lib/features/llm/LlmCreateCoerceTransformer.js +75 -0
  32. package/lib/features/llm/LlmCreateCoerceTransformer.js.map +1 -0
  33. package/lib/features/llm/LlmCreateCoerceTransformer.mjs +71 -0
  34. package/lib/features/llm/LlmCreateCoerceTransformer.mjs.map +1 -0
  35. package/lib/features/llm/LlmCreateParseTransformer.d.ts +5 -0
  36. package/lib/features/llm/LlmCreateParseTransformer.js +75 -0
  37. package/lib/features/llm/LlmCreateParseTransformer.js.map +1 -0
  38. package/lib/features/llm/LlmCreateParseTransformer.mjs +71 -0
  39. package/lib/features/llm/LlmCreateParseTransformer.mjs.map +1 -0
  40. package/lib/features/llm/LlmParametersTransformer.d.ts +1 -1
  41. package/lib/features/llm/LlmParametersTransformer.js +3 -6
  42. package/lib/features/llm/LlmParametersTransformer.js.map +1 -1
  43. package/lib/features/llm/LlmParametersTransformer.mjs +4 -7
  44. package/lib/features/llm/LlmParametersTransformer.mjs.map +1 -1
  45. package/lib/features/llm/LlmParseTransformer.d.ts +5 -0
  46. package/lib/features/llm/LlmParseTransformer.js +81 -0
  47. package/lib/features/llm/LlmParseTransformer.js.map +1 -0
  48. package/lib/features/llm/LlmParseTransformer.mjs +77 -0
  49. package/lib/features/llm/LlmParseTransformer.mjs.map +1 -0
  50. package/lib/features/llm/LlmSchemaTransformer.d.ts +1 -1
  51. package/lib/features/llm/LlmSchemaTransformer.js +10 -25
  52. package/lib/features/llm/LlmSchemaTransformer.js.map +1 -1
  53. package/lib/features/llm/LlmSchemaTransformer.mjs +11 -26
  54. package/lib/features/llm/LlmSchemaTransformer.mjs.map +1 -1
  55. package/package.json +4 -4
  56. package/src/CallExpressionTransformer.ts +579 -571
  57. package/src/FileTransformer.ts +143 -143
  58. package/src/ITransformProps.ts +20 -20
  59. package/src/ImportTransformer.ts +262 -262
  60. package/src/NodeTransformer.ts +25 -25
  61. package/src/TransformerError.ts +85 -85
  62. package/src/TypiaGenerator.ts +172 -172
  63. package/src/features/AssertTransformer.ts +24 -24
  64. package/src/features/CreateAssertTransformer.ts +24 -24
  65. package/src/features/CreateIsTransformer.ts +18 -18
  66. package/src/features/CreateRandomTransformer.ts +42 -42
  67. package/src/features/CreateValidateTransformer.ts +18 -18
  68. package/src/features/IsTransformer.ts +18 -18
  69. package/src/features/RandomTransformer.ts +40 -40
  70. package/src/features/ValidateTransformer.ts +18 -18
  71. package/src/features/functional/FunctionalGenericTransformer.ts +55 -55
  72. package/src/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  73. package/src/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  74. package/src/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  75. package/src/features/http/CreateHttpFormDataTransformer.ts +13 -13
  76. package/src/features/http/CreateHttpHeadersTransformer.ts +13 -13
  77. package/src/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  78. package/src/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  79. package/src/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  80. package/src/features/http/CreateHttpParameterTransformer.ts +13 -13
  81. package/src/features/http/CreateHttpQueryTransformer.ts +13 -13
  82. package/src/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  83. package/src/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  84. package/src/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  85. package/src/features/http/HttpAssertFormDataTransformer.ts +13 -13
  86. package/src/features/http/HttpAssertHeadersTransformer.ts +13 -13
  87. package/src/features/http/HttpAssertQueryTransformer.ts +13 -13
  88. package/src/features/http/HttpFormDataTransformer.ts +13 -13
  89. package/src/features/http/HttpHeadersTransformer.ts +13 -13
  90. package/src/features/http/HttpIsFormDataTransformer.ts +13 -13
  91. package/src/features/http/HttpIsHeadersTransformer.ts +13 -13
  92. package/src/features/http/HttpIsQueryTransformer.ts +13 -13
  93. package/src/features/http/HttpParameterTransformer.ts +13 -13
  94. package/src/features/http/HttpQueryTransformer.ts +13 -13
  95. package/src/features/http/HttpValidateFormDataTransformer.ts +13 -13
  96. package/src/features/http/HttpValidateHeadersTransformer.ts +13 -13
  97. package/src/features/http/HttpValidateQueryTransformer.ts +13 -13
  98. package/src/features/json/JsonApplicationTransformer.ts +99 -102
  99. package/src/features/json/JsonAssertParseTransformer.ts +13 -13
  100. package/src/features/json/JsonAssertStringifyTransformer.ts +13 -13
  101. package/src/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  102. package/src/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  103. package/src/features/json/JsonCreateIsParseTransformer.ts +13 -13
  104. package/src/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  105. package/src/features/json/JsonCreateStringifyTransformer.ts +13 -13
  106. package/src/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  107. package/src/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  108. package/src/features/json/JsonIsParseTransformer.ts +13 -13
  109. package/src/features/json/JsonIsStringifyTransformer.ts +13 -13
  110. package/src/features/json/JsonSchemaTransformer.ts +120 -132
  111. package/src/features/json/JsonSchemasTransformer.ts +130 -142
  112. package/src/features/json/JsonStringifyTransformer.ts +13 -13
  113. package/src/features/json/JsonValidateParseTransformer.ts +13 -13
  114. package/src/features/json/JsonValidateStringifyTransformer.ts +13 -13
  115. package/src/features/llm/LlmApplicationTransformer.ts +224 -184
  116. package/src/features/llm/LlmCoerceTransformer.ts +95 -0
  117. package/src/features/llm/LlmControllerTransformer.ts +81 -76
  118. package/src/features/llm/LlmCreateCoerceTransformer.ts +84 -0
  119. package/src/features/llm/LlmCreateParseTransformer.ts +84 -0
  120. package/src/features/llm/LlmParametersTransformer.ts +76 -88
  121. package/src/features/llm/LlmParseTransformer.ts +95 -0
  122. package/src/features/llm/LlmSchemaTransformer.ts +87 -133
  123. package/src/features/misc/MiscAssertCloneTransformer.ts +13 -13
  124. package/src/features/misc/MiscAssertPruneTransformer.ts +13 -13
  125. package/src/features/misc/MiscCloneTransformer.ts +13 -13
  126. package/src/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  127. package/src/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  128. package/src/features/misc/MiscCreateCloneTransformer.ts +13 -13
  129. package/src/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  130. package/src/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  131. package/src/features/misc/MiscCreatePruneTransformer.ts +13 -13
  132. package/src/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  133. package/src/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  134. package/src/features/misc/MiscIsCloneTransformer.ts +13 -13
  135. package/src/features/misc/MiscIsPruneTransformer.ts +13 -13
  136. package/src/features/misc/MiscLiteralsTransformer.ts +34 -34
  137. package/src/features/misc/MiscPruneTransformer.ts +13 -13
  138. package/src/features/misc/MiscValidateCloneTransformer.ts +13 -13
  139. package/src/features/misc/MiscValidatePruneTransformer.ts +13 -13
  140. package/src/features/notations/NotationAssertGeneralTransformer.ts +19 -19
  141. package/src/features/notations/NotationCreateAssertGeneralTransformer.ts +19 -19
  142. package/src/features/notations/NotationCreateGeneralTransformer.ts +19 -19
  143. package/src/features/notations/NotationCreateIsGeneralTransformer.ts +19 -19
  144. package/src/features/notations/NotationCreateValidateGeneralTransformer.ts +19 -19
  145. package/src/features/notations/NotationGeneralTransformer.ts +18 -18
  146. package/src/features/notations/NotationIsGeneralTransformer.ts +19 -19
  147. package/src/features/notations/NotationValidateGeneralTransformer.ts +19 -19
  148. package/src/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  149. package/src/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  150. package/src/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  151. package/src/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  152. package/src/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  153. package/src/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  154. package/src/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  155. package/src/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  156. package/src/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  157. package/src/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  158. package/src/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  159. package/src/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  160. package/src/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  161. package/src/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  162. package/src/features/protobuf/ProtobufMessageTransformer.ts +34 -34
  163. package/src/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  164. package/src/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  165. package/src/features/reflect/ReflectMetadataTransformer.ts +69 -69
  166. package/src/features/reflect/ReflectNameTransformer.ts +81 -81
  167. package/src/features/reflect/ReflectSchemaTransformer.ts +65 -65
  168. package/src/features/reflect/ReflectSchemasTransformer.ts +69 -69
  169. package/src/index.ts +7 -7
  170. package/src/internal/GenericTransformer.ts +101 -101
  171. package/src/transform.ts +68 -68
@@ -1,571 +1,579 @@
1
- import {
2
- FunctionAssertReturnProgrammer,
3
- FunctionalAssertFunctionProgrammer,
4
- FunctionalAssertParametersProgrammer,
5
- FunctionalIsFunctionProgrammer,
6
- FunctionalIsParametersProgrammer,
7
- FunctionalIsReturnProgrammer,
8
- FunctionalValidateFunctionProgrammer,
9
- FunctionalValidateParametersProgrammer,
10
- FunctionalValidateReturnProgrammer,
11
- ITypiaContext,
12
- } from "@typia/core";
13
- import { NamingConvention } from "@typia/utils";
14
- import path from "path";
15
- import ts from "typescript";
16
-
17
- import { ITransformProps } from "./ITransformProps";
18
- import { AssertTransformer } from "./features/AssertTransformer";
19
- import { CreateAssertTransformer } from "./features/CreateAssertTransformer";
20
- import { CreateIsTransformer } from "./features/CreateIsTransformer";
21
- import { CreateRandomTransformer } from "./features/CreateRandomTransformer";
22
- import { CreateValidateTransformer } from "./features/CreateValidateTransformer";
23
- import { IsTransformer } from "./features/IsTransformer";
24
- import { RandomTransformer } from "./features/RandomTransformer";
25
- import { ValidateTransformer } from "./features/ValidateTransformer";
26
- import { FunctionalGenericTransformer } from "./features/functional/FunctionalGenericTransformer";
27
- import { CreateHttpAssertFormDataTransformer } from "./features/http/CreateHttpAssertFormDataTransformer";
28
- import { CreateHttpAssertHeadersTransformer } from "./features/http/CreateHttpAssertHeadersTransformer";
29
- import { CreateHttpAssertQueryTransformer } from "./features/http/CreateHttpAssertQueryTransformer";
30
- import { CreateHttpFormDataTransformer } from "./features/http/CreateHttpFormDataTransformer";
31
- import { CreateHttpHeadersTransformer } from "./features/http/CreateHttpHeadersTransformer";
32
- import { CreateHttpIsFormDataTransformer } from "./features/http/CreateHttpIsFormDataTransformer";
33
- import { CreateHttpIsHeadersTransformer } from "./features/http/CreateHttpIsHeadersTransformer";
34
- import { CreateHttpIsQueryTransformer } from "./features/http/CreateHttpIsQueryTransformer";
35
- import { CreateHttpParameterTransformer } from "./features/http/CreateHttpParameterTransformer";
36
- import { CreateHttpQueryTransformer } from "./features/http/CreateHttpQueryTransformer";
37
- import { CreateHttpValidateFormDataTransformer } from "./features/http/CreateHttpValidateFormDataTransformer";
38
- import { CreateHttpValidateHeadersTransformer } from "./features/http/CreateHttpValidateHeadersTransformer";
39
- import { CreateHttpValidateQueryTransformer } from "./features/http/CreateHttpValidateQueryTransformer";
40
- import { HttpAssertFormDataTransformer } from "./features/http/HttpAssertFormDataTransformer";
41
- import { HttpAssertHeadersTransformer } from "./features/http/HttpAssertHeadersTransformer";
42
- import { HttpAssertQueryTransformer } from "./features/http/HttpAssertQueryTransformer";
43
- import { HttpFormDataTransformer } from "./features/http/HttpFormDataTransformer";
44
- import { HttpHeadersTransformer } from "./features/http/HttpHeadersTransformer";
45
- import { HttpIsFormDataTransformer } from "./features/http/HttpIsFormDataTransformer";
46
- import { HttpIsHeadersTransformer } from "./features/http/HttpIsHeadersTransformer";
47
- import { HttpIsQueryTransformer } from "./features/http/HttpIsQueryTransformer";
48
- import { HttpParameterTransformer } from "./features/http/HttpParameterTransformer";
49
- import { HttpQueryTransformer } from "./features/http/HttpQueryTransformer";
50
- import { HttpValidateFormDataTransformer } from "./features/http/HttpValidateFormDataTransformer";
51
- import { HttpValidateHeadersTransformer } from "./features/http/HttpValidateHeadersTransformer";
52
- import { HttpValidateQueryTransformer } from "./features/http/HttpValidateQueryTransformer";
53
- import { JsonApplicationTransformer } from "./features/json/JsonApplicationTransformer";
54
- // import { JsonApplicationTransformer } from "./features/json/JsonApplicationTransformer";
55
- import { JsonAssertParseTransformer } from "./features/json/JsonAssertParseTransformer";
56
- import { JsonAssertStringifyTransformer } from "./features/json/JsonAssertStringifyTransformer";
57
- import { JsonCreateAssertParseTransformer } from "./features/json/JsonCreateAssertParseTransformer";
58
- import { JsonCreateAssertStringifyTransformer } from "./features/json/JsonCreateAssertStringifyTransformer";
59
- import { JsonCreateIsParseTransformer } from "./features/json/JsonCreateIsParseTransformer";
60
- import { JsonCreateIsStringifyTransformer } from "./features/json/JsonCreateIsStringifyTransformer";
61
- import { JsonCreateStringifyTransformer } from "./features/json/JsonCreateStringifyTransformer";
62
- import { JsonCreateValidateParseTransformer } from "./features/json/JsonCreateValidateParseTransformer";
63
- import { JsonCreateValidateStringifyTransformer } from "./features/json/JsonCreateValidateStringifyProgrammer";
64
- import { JsonIsParseTransformer } from "./features/json/JsonIsParseTransformer";
65
- import { JsonIsStringifyTransformer } from "./features/json/JsonIsStringifyTransformer";
66
- import { JsonSchemaTransformer } from "./features/json/JsonSchemaTransformer";
67
- import { JsonSchemasTransformer } from "./features/json/JsonSchemasTransformer";
68
- import { JsonStringifyTransformer } from "./features/json/JsonStringifyTransformer";
69
- import { JsonValidateParseTransformer } from "./features/json/JsonValidateParseTransformer";
70
- import { JsonValidateStringifyTransformer } from "./features/json/JsonValidateStringifyTransformer";
71
- import { LlmApplicationTransformer } from "./features/llm/LlmApplicationTransformer";
72
- import { LlmControllerTransformer } from "./features/llm/LlmControllerTransformer";
73
- import { LlmParametersTransformer } from "./features/llm/LlmParametersTransformer";
74
- import { LlmSchemaTransformer } from "./features/llm/LlmSchemaTransformer";
75
- import { MiscAssertCloneTransformer } from "./features/misc/MiscAssertCloneTransformer";
76
- import { MiscAssertPruneTransformer } from "./features/misc/MiscAssertPruneTransformer";
77
- import { MiscCloneTransformer } from "./features/misc/MiscCloneTransformer";
78
- import { MiscCreateAssertCloneTransformer } from "./features/misc/MiscCreateAssertCloneTransformer";
79
- import { MiscCreateAssertPruneTransformer } from "./features/misc/MiscCreateAssertPruneTransformer";
80
- import { MiscCreateCloneTransformer } from "./features/misc/MiscCreateCloneTransformer";
81
- import { MiscCreateIsCloneTransformer } from "./features/misc/MiscCreateIsCloneTransformer";
82
- import { MiscCreateIsPruneTransformer } from "./features/misc/MiscCreateIsPruneTransformer";
83
- import { MiscCreatePruneTransformer } from "./features/misc/MiscCreatePruneTransformer";
84
- import { MiscCreateValidateCloneTransformer } from "./features/misc/MiscCreateValidateCloneTransformer";
85
- import { MiscCreateValidatePruneTransformer } from "./features/misc/MiscCreateValidatePruneTransformer";
86
- import { MiscIsCloneTransformer } from "./features/misc/MiscIsCloneTransformer";
87
- import { MiscIsPruneTransformer } from "./features/misc/MiscIsPruneTransformer";
88
- import { MiscLiteralsTransformer } from "./features/misc/MiscLiteralsTransformer";
89
- import { MiscPruneTransformer } from "./features/misc/MiscPruneTransformer";
90
- import { MiscValidateCloneTransformer } from "./features/misc/MiscValidateCloneTransformer";
91
- import { MiscValidatePruneTransformer } from "./features/misc/MiscValidatePruneTransformer";
92
- import { NotationAssertGeneralTransformer } from "./features/notations/NotationAssertGeneralTransformer";
93
- import { NotationCreateAssertGeneralTransformer } from "./features/notations/NotationCreateAssertGeneralTransformer";
94
- import { NotationCreateGeneralTransformer } from "./features/notations/NotationCreateGeneralTransformer";
95
- import { NotationCreateIsGeneralTransformer } from "./features/notations/NotationCreateIsGeneralTransformer";
96
- import { NotationCreateValidateGeneralTransformer } from "./features/notations/NotationCreateValidateGeneralTransformer";
97
- import { NotationGeneralTransformer } from "./features/notations/NotationGeneralTransformer";
98
- import { NotationIsGeneralTransformer } from "./features/notations/NotationIsGeneralTransformer";
99
- import { NotationValidateGeneralTransformer } from "./features/notations/NotationValidateGeneralTransformer";
100
- import { ProtobufAssertDecodeTransformer } from "./features/protobuf/ProtobufAssertDecodeTransformer";
101
- import { ProtobufAssertEncodeTransformer } from "./features/protobuf/ProtobufAssertEncodeTransformer";
102
- import { ProtobufCreateAssertDecodeTransformer } from "./features/protobuf/ProtobufCreateAssertDecodeTransformer";
103
- import { ProtobufCreateAssertEncodeTransformer } from "./features/protobuf/ProtobufCreateAssertEncodeTransformer";
104
- import { ProtobufCreateDecodeTransformer } from "./features/protobuf/ProtobufCreateDecodeTransformer";
105
- import { ProtobufCreateEncodeTransformer } from "./features/protobuf/ProtobufCreateEncodeTransformer";
106
- import { ProtobufCreateIsDecodeTransformer } from "./features/protobuf/ProtobufCreateIsDecodeTransformer";
107
- import { ProtobufCreateIsEncodeTransformer } from "./features/protobuf/ProtobufCreateIsEncodeTransformer";
108
- import { ProtobufCreateValidateDecodeTransformer } from "./features/protobuf/ProtobufCreateValidateDecodeTransformer";
109
- import { ProtobufCreateValidateEncodeTransformer } from "./features/protobuf/ProtobufCreateValidateEncodeTransformer";
110
- import { ProtobufDecodeTransformer } from "./features/protobuf/ProtobufDecodeTransformer";
111
- import { ProtobufEncodeTransformer } from "./features/protobuf/ProtobufEncodeTransformer";
112
- import { ProtobufIsDecodeTransformer } from "./features/protobuf/ProtobufIsDecodeTransformer";
113
- import { ProtobufIsEncodeTransformer } from "./features/protobuf/ProtobufIsEncodeTransformer";
114
- import { ProtobufMessageTransformer } from "./features/protobuf/ProtobufMessageTransformer";
115
- import { ProtobufValidateDecodeTransformer } from "./features/protobuf/ProtobufValidateDecodeTransformer";
116
- import { ProtobufValidateEncodeTransformer } from "./features/protobuf/ProtobufValidateEncodeTransformer";
117
- import { ReflectMetadataTransformer } from "./features/reflect/ReflectMetadataTransformer";
118
- import { ReflectNameTransformer } from "./features/reflect/ReflectNameTransformer";
119
- import { ReflectSchemaTransformer } from "./features/reflect/ReflectSchemaTransformer";
120
- import { ReflectSchemasTransformer } from "./features/reflect/ReflectSchemasTransformer";
121
-
122
- /**
123
- * Transforms `typia.*` function call expressions.
124
- *
125
- * Routes typia function calls (e.g., `typia.is<T>()`, `typia.assert<T>()`) to
126
- * their corresponding transformers. Identifies calls by resolving the
127
- * declaration signature and matching against registered functor map.
128
- *
129
- * @author Jeongho Nam - https://github.com/samchon
130
- */
131
- export namespace CallExpressionTransformer {
132
- export const transform = (props: {
133
- context: ITypiaContext;
134
- expression: ts.CallExpression;
135
- }): ts.Expression | null => {
136
- //----
137
- // VALIDATIONS
138
- //----
139
- // SIGNATURE DECLARATION
140
- const declaration: ts.Declaration | undefined =
141
- props.context.checker.getResolvedSignature(props.expression)?.declaration;
142
- if (!declaration) return props.expression;
143
-
144
- // FILE PATH
145
- const location: string = path.resolve(declaration.getSourceFile().fileName);
146
- if (isTarget(location) === false) return props.expression;
147
-
148
- //----
149
- // TRANSFORMATION
150
- //----
151
- // FUNCTION NAME
152
- const module: string = location.split(path.sep).at(-1)!.split(".")[0]!;
153
- const { name } =
154
- props.context.checker.getTypeAtLocation(declaration).symbol;
155
-
156
- // FIND TRANSFORMER
157
- const functor: (() => Task) | undefined = FUNCTORS[module]?.[name];
158
- if (functor === undefined) return props.expression;
159
-
160
- // RETURNS WITH TRANSFORMATION
161
- const result: ts.Expression | null = functor()({
162
- context: props.context,
163
- modulo: props.expression.expression,
164
- expression: props.expression,
165
- });
166
- return result ?? props.expression;
167
- };
168
-
169
- const isTarget = (location: string): boolean => {
170
- const files: string[] = Object.keys(FUNCTORS);
171
- return files.some(
172
- (f) =>
173
- location.includes(path.join("typia", "lib", `${f}.d.ts`)) ||
174
- location.includes(path.join("typia", "src", `${f}.ts`)),
175
- );
176
- };
177
- }
178
-
179
- type Task = (props: ITransformProps) => ts.Expression | null;
180
-
181
- const FUNCTORS: Record<string, Record<string, () => Task>> = {
182
- module: {
183
- // BASIC
184
- assert: () => AssertTransformer.transform({ equals: false, guard: false }),
185
- assertGuard: () =>
186
- AssertTransformer.transform({ equals: false, guard: true }),
187
- assertType: () =>
188
- AssertTransformer.transform({ equals: false, guard: false }),
189
- is: () => IsTransformer.transform({ equals: false }),
190
- validate: () => ValidateTransformer.transform({ equals: false }),
191
-
192
- // STRICT
193
- assertEquals: () =>
194
- AssertTransformer.transform({ equals: true, guard: false }),
195
- assertGuardEquals: () =>
196
- AssertTransformer.transform({ equals: true, guard: true }),
197
- equals: () => IsTransformer.transform({ equals: true }),
198
- validateEquals: () => ValidateTransformer.transform({ equals: true }),
199
-
200
- // RANDOM + INTERNAL
201
- random: () => RandomTransformer.transform,
202
- metadata: () => ReflectMetadataTransformer.transform,
203
-
204
- // FACTORIES
205
- createAssert: () =>
206
- CreateAssertTransformer.transform({ equals: false, guard: false }),
207
- createAssertGuard: () =>
208
- CreateAssertTransformer.transform({ equals: false, guard: true }),
209
- createAssertType: () =>
210
- CreateAssertTransformer.transform({ equals: false, guard: false }),
211
- createIs: () => CreateIsTransformer.transform({ equals: false }),
212
- createValidate: () =>
213
- CreateValidateTransformer.transform({
214
- equals: false,
215
- standardSchema: true,
216
- }),
217
- createAssertEquals: () =>
218
- CreateAssertTransformer.transform({ equals: true, guard: false }),
219
- createAssertGuardEquals: () =>
220
- CreateAssertTransformer.transform({ equals: true, guard: true }),
221
- createEquals: () => CreateIsTransformer.transform({ equals: true }),
222
- createValidateEquals: () =>
223
- CreateValidateTransformer.transform({
224
- equals: true,
225
- standardSchema: true,
226
- }),
227
- createRandom: () => CreateRandomTransformer.transform,
228
- },
229
- functional: {
230
- // ASSERTIONS
231
- assertFunction: () =>
232
- FunctionalGenericTransformer.transform({
233
- method: "assertFunction",
234
- config: {
235
- equals: false,
236
- },
237
- programmer: FunctionalAssertFunctionProgrammer.write,
238
- }),
239
- assertParameters: () =>
240
- FunctionalGenericTransformer.transform({
241
- method: "assertParameters",
242
- config: {
243
- equals: false,
244
- },
245
- programmer: FunctionalAssertParametersProgrammer.write,
246
- }),
247
- assertReturn: () =>
248
- FunctionalGenericTransformer.transform({
249
- method: "assertReturn",
250
- config: {
251
- equals: false,
252
- },
253
- programmer: FunctionAssertReturnProgrammer.write,
254
- }),
255
- assertEqualsFunction: () =>
256
- FunctionalGenericTransformer.transform({
257
- method: "assertEqualsFunction",
258
- config: {
259
- equals: true,
260
- },
261
- programmer: FunctionalAssertFunctionProgrammer.write,
262
- }),
263
- assertEqualsParameters: () =>
264
- FunctionalGenericTransformer.transform({
265
- method: "assertEqualsParameters",
266
- config: {
267
- equals: true,
268
- },
269
- programmer: FunctionalAssertParametersProgrammer.write,
270
- }),
271
- assertEqualsReturn: () =>
272
- FunctionalGenericTransformer.transform({
273
- method: "assertEqualsReturn",
274
- config: {
275
- equals: true,
276
- },
277
- programmer: FunctionAssertReturnProgrammer.write,
278
- }),
279
-
280
- // IS
281
- isFunction: () =>
282
- FunctionalGenericTransformer.transform({
283
- method: "isFunction",
284
- config: {
285
- equals: false,
286
- },
287
- programmer: FunctionalIsFunctionProgrammer.write,
288
- }),
289
- isParameters: () =>
290
- FunctionalGenericTransformer.transform({
291
- method: "isParameters",
292
- config: {
293
- equals: false,
294
- },
295
- programmer: FunctionalIsParametersProgrammer.write,
296
- }),
297
- isReturn: () =>
298
- FunctionalGenericTransformer.transform({
299
- method: "isReturn",
300
- config: {
301
- equals: false,
302
- },
303
- programmer: FunctionalIsReturnProgrammer.write,
304
- }),
305
- equalsFunction: () =>
306
- FunctionalGenericTransformer.transform({
307
- method: "equalsFunction",
308
- config: {
309
- equals: true,
310
- },
311
- programmer: FunctionalIsFunctionProgrammer.write,
312
- }),
313
- equalsParameters: () =>
314
- FunctionalGenericTransformer.transform({
315
- method: "equalsParameters",
316
- config: {
317
- equals: true,
318
- },
319
- programmer: FunctionalIsParametersProgrammer.write,
320
- }),
321
- equalsReturn: () =>
322
- FunctionalGenericTransformer.transform({
323
- method: "equalsReturn",
324
- config: {
325
- equals: true,
326
- },
327
- programmer: FunctionalIsReturnProgrammer.write,
328
- }),
329
-
330
- // VALIDATIONS
331
- validateFunction: () =>
332
- FunctionalGenericTransformer.transform({
333
- method: "validateFunction",
334
- config: {
335
- equals: false,
336
- },
337
- programmer: FunctionalValidateFunctionProgrammer.write,
338
- }),
339
- validateParameters: () =>
340
- FunctionalGenericTransformer.transform({
341
- method: "validateParameters",
342
- config: {
343
- equals: false,
344
- },
345
- programmer: FunctionalValidateParametersProgrammer.write,
346
- }),
347
- validateReturn: () =>
348
- FunctionalGenericTransformer.transform({
349
- method: "validateReturn",
350
- config: {
351
- equals: false,
352
- },
353
- programmer: FunctionalValidateReturnProgrammer.write,
354
- }),
355
- validateEqualsFunction: () =>
356
- FunctionalGenericTransformer.transform({
357
- method: "validateEqualsFunction",
358
- config: {
359
- equals: true,
360
- },
361
- programmer: FunctionalValidateFunctionProgrammer.write,
362
- }),
363
- validateEqualsParameters: () =>
364
- FunctionalGenericTransformer.transform({
365
- method: "validateEqualsParameters",
366
- config: {
367
- equals: true,
368
- },
369
- programmer: FunctionalValidateParametersProgrammer.write,
370
- }),
371
- validateEqualsReturn: () =>
372
- FunctionalGenericTransformer.transform({
373
- method: "validateEqualsReturn",
374
- config: {
375
- equals: true,
376
- },
377
- programmer: FunctionalValidateReturnProgrammer.write,
378
- }),
379
- },
380
- http: {
381
- // FORM-DATA
382
- formData: () => HttpFormDataTransformer.transform,
383
- isFormData: () => HttpIsFormDataTransformer.transform,
384
- assertFormData: () => HttpAssertFormDataTransformer.transform,
385
- validateFormData: () => HttpValidateFormDataTransformer.transform,
386
-
387
- // HEADERS
388
- headers: () => HttpHeadersTransformer.transform,
389
- isHeaders: () => HttpIsHeadersTransformer.transform,
390
- assertHeaders: () => HttpAssertHeadersTransformer.transform,
391
- validateHeaders: () => HttpValidateHeadersTransformer.transform,
392
-
393
- // PARAMETER
394
- parameter: () => HttpParameterTransformer.transform,
395
-
396
- // QUERY
397
- query: () => HttpQueryTransformer.transform,
398
- isQuery: () => HttpIsQueryTransformer.transform,
399
- assertQuery: () => HttpAssertQueryTransformer.transform,
400
- validateQuery: () => HttpValidateQueryTransformer.transform,
401
-
402
- // FACTORIES
403
- createFormData: () => CreateHttpFormDataTransformer.transform,
404
- createIsFormData: () => CreateHttpIsFormDataTransformer.transform,
405
- createAssertFormData: () => CreateHttpAssertFormDataTransformer.transform,
406
- createValidateFormData: () =>
407
- CreateHttpValidateFormDataTransformer.transform,
408
- createHeaders: () => CreateHttpHeadersTransformer.transform,
409
- createIsHeaders: () => CreateHttpIsHeadersTransformer.transform,
410
- createAssertHeaders: () => CreateHttpAssertHeadersTransformer.transform,
411
- createValidateHeaders: () => CreateHttpValidateHeadersTransformer.transform,
412
- createParameter: () => CreateHttpParameterTransformer.transform,
413
- createQuery: () => CreateHttpQueryTransformer.transform,
414
- createIsQuery: () => CreateHttpIsQueryTransformer.transform,
415
- createAssertQuery: () => CreateHttpAssertQueryTransformer.transform,
416
- createValidateQuery: () => CreateHttpValidateQueryTransformer.transform,
417
- },
418
- llm: {
419
- controller: () => LlmControllerTransformer.transform,
420
- applicationOfValidate: () => LlmApplicationTransformer.transform,
421
- application: () => LlmApplicationTransformer.transform,
422
- parameters: () => LlmParametersTransformer.transform,
423
- schema: () => LlmSchemaTransformer.transform,
424
- },
425
- json: {
426
- // METADATA
427
- schema: () => JsonSchemaTransformer.transform,
428
- schemas: () => JsonSchemasTransformer.transform,
429
- application: () => JsonApplicationTransformer.transform,
430
-
431
- // PARSER
432
- isParse: () => JsonIsParseTransformer.transform,
433
- assertParse: () => JsonAssertParseTransformer.transform,
434
- validateParse: () => JsonValidateParseTransformer.transform,
435
-
436
- // STRINGIFY
437
- stringify: () => JsonStringifyTransformer.transform,
438
- assertStringify: () => JsonAssertStringifyTransformer.transform,
439
- isStringify: () => JsonIsStringifyTransformer.transform,
440
- validateStringify: () => JsonValidateStringifyTransformer.transform,
441
-
442
- // FACTORIES
443
- createIsParse: () => JsonCreateIsParseTransformer.transform,
444
- createAssertParse: () => JsonCreateAssertParseTransformer.transform,
445
- createValidateParse: () => JsonCreateValidateParseTransformer.transform,
446
- createStringify: () => JsonCreateStringifyTransformer.transform,
447
- createAssertStringify: () => JsonCreateAssertStringifyTransformer.transform,
448
- createIsStringify: () => JsonCreateIsStringifyTransformer.transform,
449
- createValidateStringify: () =>
450
- JsonCreateValidateStringifyTransformer.transform,
451
- },
452
- protobuf: {
453
- // SCHEMA
454
- message: () => ProtobufMessageTransformer.transform,
455
-
456
- // ENCODE
457
- encode: () => ProtobufEncodeTransformer.transform,
458
- assertEncode: () => ProtobufAssertEncodeTransformer.transform,
459
- isEncode: () => ProtobufIsEncodeTransformer.transform,
460
- validateEncode: () => ProtobufValidateEncodeTransformer.transform,
461
-
462
- // DECODE
463
- decode: () => ProtobufDecodeTransformer.transform,
464
- assertDecode: () => ProtobufAssertDecodeTransformer.transform,
465
- isDecode: () => ProtobufIsDecodeTransformer.transform,
466
- validateDecode: () => ProtobufValidateDecodeTransformer.transform,
467
-
468
- // FACTORIES
469
- createEncode: () => ProtobufCreateEncodeTransformer.transform,
470
- createAssertEncode: () => ProtobufCreateAssertEncodeTransformer.transform,
471
- createIsEncode: () => ProtobufCreateIsEncodeTransformer.transform,
472
- createValidateEncode: () =>
473
- ProtobufCreateValidateEncodeTransformer.transform,
474
- createDecode: () => ProtobufCreateDecodeTransformer.transform,
475
- createAssertDecode: () => ProtobufCreateAssertDecodeTransformer.transform,
476
- createIsDecode: () => ProtobufCreateIsDecodeTransformer.transform,
477
- createValidateDecode: () =>
478
- ProtobufCreateValidateDecodeTransformer.transform,
479
- },
480
- reflect: {
481
- metadata: () => ReflectMetadataTransformer.transform,
482
- name: () => ReflectNameTransformer.transform,
483
- schema: () => ReflectSchemaTransformer.transform,
484
- schemas: () => ReflectSchemasTransformer.transform,
485
- },
486
- misc: {
487
- literals: () => MiscLiteralsTransformer.transform,
488
-
489
- // CLONE
490
- clone: () => MiscCloneTransformer.transform,
491
- assertClone: () => MiscAssertCloneTransformer.transform,
492
- isClone: () => MiscIsCloneTransformer.transform,
493
- validateClone: () => MiscValidateCloneTransformer.transform,
494
-
495
- // PRUNE
496
- prune: () => MiscPruneTransformer.transform,
497
- assertPrune: () => MiscAssertPruneTransformer.transform,
498
- isPrune: () => MiscIsPruneTransformer.transform,
499
- validatePrune: () => MiscValidatePruneTransformer.transform,
500
-
501
- // FACTORIES
502
- createClone: () => MiscCreateCloneTransformer.transform,
503
- createAssertClone: () => MiscCreateAssertCloneTransformer.transform,
504
- createIsClone: () => MiscCreateIsCloneTransformer.transform,
505
- createValidateClone: () => MiscCreateValidateCloneTransformer.transform,
506
- createPrune: () => MiscCreatePruneTransformer.transform,
507
- createAssertPrune: () => MiscCreateAssertPruneTransformer.transform,
508
- createIsPrune: () => MiscCreateIsPruneTransformer.transform,
509
- createValidatePrune: () => MiscCreateValidatePruneTransformer.transform,
510
- },
511
- notations: {
512
- // CAMEL
513
- camel: () => NotationGeneralTransformer.transform(NamingConvention.camel),
514
- assertCamel: () =>
515
- NotationAssertGeneralTransformer.transform(NamingConvention.camel),
516
- isCamel: () =>
517
- NotationIsGeneralTransformer.transform(NamingConvention.camel),
518
- validateCamel: () =>
519
- NotationValidateGeneralTransformer.transform(NamingConvention.camel),
520
-
521
- // PASCAL
522
- pascal: () => NotationGeneralTransformer.transform(NamingConvention.pascal),
523
- assertPascal: () =>
524
- NotationAssertGeneralTransformer.transform(NamingConvention.pascal),
525
- isPascal: () =>
526
- NotationIsGeneralTransformer.transform(NamingConvention.pascal),
527
- validatePascal: () =>
528
- NotationValidateGeneralTransformer.transform(NamingConvention.pascal),
529
-
530
- // SNAKE
531
- snake: () => NotationGeneralTransformer.transform(NamingConvention.snake),
532
- assertSnake: () =>
533
- NotationAssertGeneralTransformer.transform(NamingConvention.snake),
534
- isSnake: () =>
535
- NotationIsGeneralTransformer.transform(NamingConvention.snake),
536
- validateSnake: () =>
537
- NotationValidateGeneralTransformer.transform(NamingConvention.snake),
538
-
539
- // FACTORIES
540
- createCamel: () =>
541
- NotationCreateGeneralTransformer.transform(NamingConvention.camel),
542
- createAssertCamel: () =>
543
- NotationCreateAssertGeneralTransformer.transform(NamingConvention.camel),
544
- createIsCamel: () =>
545
- NotationCreateIsGeneralTransformer.transform(NamingConvention.camel),
546
- createValidateCamel: () =>
547
- NotationCreateValidateGeneralTransformer.transform(
548
- NamingConvention.camel,
549
- ),
550
- createPascal: () =>
551
- NotationCreateGeneralTransformer.transform(NamingConvention.pascal),
552
- createAssertPascal: () =>
553
- NotationCreateAssertGeneralTransformer.transform(NamingConvention.pascal),
554
- createIsPascal: () =>
555
- NotationCreateIsGeneralTransformer.transform(NamingConvention.pascal),
556
- createValidatePascal: () =>
557
- NotationCreateValidateGeneralTransformer.transform(
558
- NamingConvention.pascal,
559
- ),
560
- createSnake: () =>
561
- NotationCreateGeneralTransformer.transform(NamingConvention.snake),
562
- createAssertSnake: () =>
563
- NotationCreateAssertGeneralTransformer.transform(NamingConvention.snake),
564
- createIsSnake: () =>
565
- NotationCreateIsGeneralTransformer.transform(NamingConvention.snake),
566
- createValidateSnake: () =>
567
- NotationCreateValidateGeneralTransformer.transform(
568
- NamingConvention.snake,
569
- ),
570
- },
571
- };
1
+ import {
2
+ FunctionAssertReturnProgrammer,
3
+ FunctionalAssertFunctionProgrammer,
4
+ FunctionalAssertParametersProgrammer,
5
+ FunctionalIsFunctionProgrammer,
6
+ FunctionalIsParametersProgrammer,
7
+ FunctionalIsReturnProgrammer,
8
+ FunctionalValidateFunctionProgrammer,
9
+ FunctionalValidateParametersProgrammer,
10
+ FunctionalValidateReturnProgrammer,
11
+ ITypiaContext,
12
+ } from "@typia/core";
13
+ import { NamingConvention } from "@typia/utils";
14
+ import path from "path";
15
+ import ts from "typescript";
16
+
17
+ import { ITransformProps } from "./ITransformProps";
18
+ import { AssertTransformer } from "./features/AssertTransformer";
19
+ import { CreateAssertTransformer } from "./features/CreateAssertTransformer";
20
+ import { CreateIsTransformer } from "./features/CreateIsTransformer";
21
+ import { CreateRandomTransformer } from "./features/CreateRandomTransformer";
22
+ import { CreateValidateTransformer } from "./features/CreateValidateTransformer";
23
+ import { IsTransformer } from "./features/IsTransformer";
24
+ import { RandomTransformer } from "./features/RandomTransformer";
25
+ import { ValidateTransformer } from "./features/ValidateTransformer";
26
+ import { FunctionalGenericTransformer } from "./features/functional/FunctionalGenericTransformer";
27
+ import { CreateHttpAssertFormDataTransformer } from "./features/http/CreateHttpAssertFormDataTransformer";
28
+ import { CreateHttpAssertHeadersTransformer } from "./features/http/CreateHttpAssertHeadersTransformer";
29
+ import { CreateHttpAssertQueryTransformer } from "./features/http/CreateHttpAssertQueryTransformer";
30
+ import { CreateHttpFormDataTransformer } from "./features/http/CreateHttpFormDataTransformer";
31
+ import { CreateHttpHeadersTransformer } from "./features/http/CreateHttpHeadersTransformer";
32
+ import { CreateHttpIsFormDataTransformer } from "./features/http/CreateHttpIsFormDataTransformer";
33
+ import { CreateHttpIsHeadersTransformer } from "./features/http/CreateHttpIsHeadersTransformer";
34
+ import { CreateHttpIsQueryTransformer } from "./features/http/CreateHttpIsQueryTransformer";
35
+ import { CreateHttpParameterTransformer } from "./features/http/CreateHttpParameterTransformer";
36
+ import { CreateHttpQueryTransformer } from "./features/http/CreateHttpQueryTransformer";
37
+ import { CreateHttpValidateFormDataTransformer } from "./features/http/CreateHttpValidateFormDataTransformer";
38
+ import { CreateHttpValidateHeadersTransformer } from "./features/http/CreateHttpValidateHeadersTransformer";
39
+ import { CreateHttpValidateQueryTransformer } from "./features/http/CreateHttpValidateQueryTransformer";
40
+ import { HttpAssertFormDataTransformer } from "./features/http/HttpAssertFormDataTransformer";
41
+ import { HttpAssertHeadersTransformer } from "./features/http/HttpAssertHeadersTransformer";
42
+ import { HttpAssertQueryTransformer } from "./features/http/HttpAssertQueryTransformer";
43
+ import { HttpFormDataTransformer } from "./features/http/HttpFormDataTransformer";
44
+ import { HttpHeadersTransformer } from "./features/http/HttpHeadersTransformer";
45
+ import { HttpIsFormDataTransformer } from "./features/http/HttpIsFormDataTransformer";
46
+ import { HttpIsHeadersTransformer } from "./features/http/HttpIsHeadersTransformer";
47
+ import { HttpIsQueryTransformer } from "./features/http/HttpIsQueryTransformer";
48
+ import { HttpParameterTransformer } from "./features/http/HttpParameterTransformer";
49
+ import { HttpQueryTransformer } from "./features/http/HttpQueryTransformer";
50
+ import { HttpValidateFormDataTransformer } from "./features/http/HttpValidateFormDataTransformer";
51
+ import { HttpValidateHeadersTransformer } from "./features/http/HttpValidateHeadersTransformer";
52
+ import { HttpValidateQueryTransformer } from "./features/http/HttpValidateQueryTransformer";
53
+ import { JsonApplicationTransformer } from "./features/json/JsonApplicationTransformer";
54
+ // import { JsonApplicationTransformer } from "./features/json/JsonApplicationTransformer";
55
+ import { JsonAssertParseTransformer } from "./features/json/JsonAssertParseTransformer";
56
+ import { JsonAssertStringifyTransformer } from "./features/json/JsonAssertStringifyTransformer";
57
+ import { JsonCreateAssertParseTransformer } from "./features/json/JsonCreateAssertParseTransformer";
58
+ import { JsonCreateAssertStringifyTransformer } from "./features/json/JsonCreateAssertStringifyTransformer";
59
+ import { JsonCreateIsParseTransformer } from "./features/json/JsonCreateIsParseTransformer";
60
+ import { JsonCreateIsStringifyTransformer } from "./features/json/JsonCreateIsStringifyTransformer";
61
+ import { JsonCreateStringifyTransformer } from "./features/json/JsonCreateStringifyTransformer";
62
+ import { JsonCreateValidateParseTransformer } from "./features/json/JsonCreateValidateParseTransformer";
63
+ import { JsonCreateValidateStringifyTransformer } from "./features/json/JsonCreateValidateStringifyProgrammer";
64
+ import { JsonIsParseTransformer } from "./features/json/JsonIsParseTransformer";
65
+ import { JsonIsStringifyTransformer } from "./features/json/JsonIsStringifyTransformer";
66
+ import { JsonSchemaTransformer } from "./features/json/JsonSchemaTransformer";
67
+ import { JsonSchemasTransformer } from "./features/json/JsonSchemasTransformer";
68
+ import { JsonStringifyTransformer } from "./features/json/JsonStringifyTransformer";
69
+ import { JsonValidateParseTransformer } from "./features/json/JsonValidateParseTransformer";
70
+ import { JsonValidateStringifyTransformer } from "./features/json/JsonValidateStringifyTransformer";
71
+ import { LlmApplicationTransformer } from "./features/llm/LlmApplicationTransformer";
72
+ import { LlmCoerceTransformer } from "./features/llm/LlmCoerceTransformer";
73
+ import { LlmControllerTransformer } from "./features/llm/LlmControllerTransformer";
74
+ import { LlmCreateCoerceTransformer } from "./features/llm/LlmCreateCoerceTransformer";
75
+ import { LlmCreateParseTransformer } from "./features/llm/LlmCreateParseTransformer";
76
+ import { LlmParametersTransformer } from "./features/llm/LlmParametersTransformer";
77
+ import { LlmParseTransformer } from "./features/llm/LlmParseTransformer";
78
+ import { LlmSchemaTransformer } from "./features/llm/LlmSchemaTransformer";
79
+ import { MiscAssertCloneTransformer } from "./features/misc/MiscAssertCloneTransformer";
80
+ import { MiscAssertPruneTransformer } from "./features/misc/MiscAssertPruneTransformer";
81
+ import { MiscCloneTransformer } from "./features/misc/MiscCloneTransformer";
82
+ import { MiscCreateAssertCloneTransformer } from "./features/misc/MiscCreateAssertCloneTransformer";
83
+ import { MiscCreateAssertPruneTransformer } from "./features/misc/MiscCreateAssertPruneTransformer";
84
+ import { MiscCreateCloneTransformer } from "./features/misc/MiscCreateCloneTransformer";
85
+ import { MiscCreateIsCloneTransformer } from "./features/misc/MiscCreateIsCloneTransformer";
86
+ import { MiscCreateIsPruneTransformer } from "./features/misc/MiscCreateIsPruneTransformer";
87
+ import { MiscCreatePruneTransformer } from "./features/misc/MiscCreatePruneTransformer";
88
+ import { MiscCreateValidateCloneTransformer } from "./features/misc/MiscCreateValidateCloneTransformer";
89
+ import { MiscCreateValidatePruneTransformer } from "./features/misc/MiscCreateValidatePruneTransformer";
90
+ import { MiscIsCloneTransformer } from "./features/misc/MiscIsCloneTransformer";
91
+ import { MiscIsPruneTransformer } from "./features/misc/MiscIsPruneTransformer";
92
+ import { MiscLiteralsTransformer } from "./features/misc/MiscLiteralsTransformer";
93
+ import { MiscPruneTransformer } from "./features/misc/MiscPruneTransformer";
94
+ import { MiscValidateCloneTransformer } from "./features/misc/MiscValidateCloneTransformer";
95
+ import { MiscValidatePruneTransformer } from "./features/misc/MiscValidatePruneTransformer";
96
+ import { NotationAssertGeneralTransformer } from "./features/notations/NotationAssertGeneralTransformer";
97
+ import { NotationCreateAssertGeneralTransformer } from "./features/notations/NotationCreateAssertGeneralTransformer";
98
+ import { NotationCreateGeneralTransformer } from "./features/notations/NotationCreateGeneralTransformer";
99
+ import { NotationCreateIsGeneralTransformer } from "./features/notations/NotationCreateIsGeneralTransformer";
100
+ import { NotationCreateValidateGeneralTransformer } from "./features/notations/NotationCreateValidateGeneralTransformer";
101
+ import { NotationGeneralTransformer } from "./features/notations/NotationGeneralTransformer";
102
+ import { NotationIsGeneralTransformer } from "./features/notations/NotationIsGeneralTransformer";
103
+ import { NotationValidateGeneralTransformer } from "./features/notations/NotationValidateGeneralTransformer";
104
+ import { ProtobufAssertDecodeTransformer } from "./features/protobuf/ProtobufAssertDecodeTransformer";
105
+ import { ProtobufAssertEncodeTransformer } from "./features/protobuf/ProtobufAssertEncodeTransformer";
106
+ import { ProtobufCreateAssertDecodeTransformer } from "./features/protobuf/ProtobufCreateAssertDecodeTransformer";
107
+ import { ProtobufCreateAssertEncodeTransformer } from "./features/protobuf/ProtobufCreateAssertEncodeTransformer";
108
+ import { ProtobufCreateDecodeTransformer } from "./features/protobuf/ProtobufCreateDecodeTransformer";
109
+ import { ProtobufCreateEncodeTransformer } from "./features/protobuf/ProtobufCreateEncodeTransformer";
110
+ import { ProtobufCreateIsDecodeTransformer } from "./features/protobuf/ProtobufCreateIsDecodeTransformer";
111
+ import { ProtobufCreateIsEncodeTransformer } from "./features/protobuf/ProtobufCreateIsEncodeTransformer";
112
+ import { ProtobufCreateValidateDecodeTransformer } from "./features/protobuf/ProtobufCreateValidateDecodeTransformer";
113
+ import { ProtobufCreateValidateEncodeTransformer } from "./features/protobuf/ProtobufCreateValidateEncodeTransformer";
114
+ import { ProtobufDecodeTransformer } from "./features/protobuf/ProtobufDecodeTransformer";
115
+ import { ProtobufEncodeTransformer } from "./features/protobuf/ProtobufEncodeTransformer";
116
+ import { ProtobufIsDecodeTransformer } from "./features/protobuf/ProtobufIsDecodeTransformer";
117
+ import { ProtobufIsEncodeTransformer } from "./features/protobuf/ProtobufIsEncodeTransformer";
118
+ import { ProtobufMessageTransformer } from "./features/protobuf/ProtobufMessageTransformer";
119
+ import { ProtobufValidateDecodeTransformer } from "./features/protobuf/ProtobufValidateDecodeTransformer";
120
+ import { ProtobufValidateEncodeTransformer } from "./features/protobuf/ProtobufValidateEncodeTransformer";
121
+ import { ReflectMetadataTransformer } from "./features/reflect/ReflectMetadataTransformer";
122
+ import { ReflectNameTransformer } from "./features/reflect/ReflectNameTransformer";
123
+ import { ReflectSchemaTransformer } from "./features/reflect/ReflectSchemaTransformer";
124
+ import { ReflectSchemasTransformer } from "./features/reflect/ReflectSchemasTransformer";
125
+
126
+ /**
127
+ * Transforms `typia.*` function call expressions.
128
+ *
129
+ * Routes typia function calls (e.g., `typia.is<T>()`, `typia.assert<T>()`) to
130
+ * their corresponding transformers. Identifies calls by resolving the
131
+ * declaration signature and matching against registered functor map.
132
+ *
133
+ * @author Jeongho Nam - https://github.com/samchon
134
+ */
135
+ export namespace CallExpressionTransformer {
136
+ export const transform = (props: {
137
+ context: ITypiaContext;
138
+ expression: ts.CallExpression;
139
+ }): ts.Expression | null => {
140
+ //----
141
+ // VALIDATIONS
142
+ //----
143
+ // SIGNATURE DECLARATION
144
+ const declaration: ts.Declaration | undefined =
145
+ props.context.checker.getResolvedSignature(props.expression)?.declaration;
146
+ if (!declaration) return props.expression;
147
+
148
+ // FILE PATH
149
+ const location: string = path.resolve(declaration.getSourceFile().fileName);
150
+ if (isTarget(location) === false) return props.expression;
151
+
152
+ //----
153
+ // TRANSFORMATION
154
+ //----
155
+ // FUNCTION NAME
156
+ const module: string = location.split(path.sep).at(-1)!.split(".")[0]!;
157
+ const { name } =
158
+ props.context.checker.getTypeAtLocation(declaration).symbol;
159
+
160
+ // FIND TRANSFORMER
161
+ const functor: (() => Task) | undefined = FUNCTORS[module]?.[name];
162
+ if (functor === undefined) return props.expression;
163
+
164
+ // RETURNS WITH TRANSFORMATION
165
+ const result: ts.Expression | null = functor()({
166
+ context: props.context,
167
+ modulo: props.expression.expression,
168
+ expression: props.expression,
169
+ });
170
+ return result ?? props.expression;
171
+ };
172
+
173
+ const isTarget = (location: string): boolean => {
174
+ const files: string[] = Object.keys(FUNCTORS);
175
+ return files.some(
176
+ (f) =>
177
+ location.includes(path.join("typia", "lib", `${f}.d.ts`)) ||
178
+ location.includes(path.join("typia", "src", `${f}.ts`)),
179
+ );
180
+ };
181
+ }
182
+
183
+ type Task = (props: ITransformProps) => ts.Expression | null;
184
+
185
+ const FUNCTORS: Record<string, Record<string, () => Task>> = {
186
+ module: {
187
+ // BASIC
188
+ assert: () => AssertTransformer.transform({ equals: false, guard: false }),
189
+ assertGuard: () =>
190
+ AssertTransformer.transform({ equals: false, guard: true }),
191
+ assertType: () =>
192
+ AssertTransformer.transform({ equals: false, guard: false }),
193
+ is: () => IsTransformer.transform({ equals: false }),
194
+ validate: () => ValidateTransformer.transform({ equals: false }),
195
+
196
+ // STRICT
197
+ assertEquals: () =>
198
+ AssertTransformer.transform({ equals: true, guard: false }),
199
+ assertGuardEquals: () =>
200
+ AssertTransformer.transform({ equals: true, guard: true }),
201
+ equals: () => IsTransformer.transform({ equals: true }),
202
+ validateEquals: () => ValidateTransformer.transform({ equals: true }),
203
+
204
+ // RANDOM + INTERNAL
205
+ random: () => RandomTransformer.transform,
206
+ metadata: () => ReflectMetadataTransformer.transform,
207
+
208
+ // FACTORIES
209
+ createAssert: () =>
210
+ CreateAssertTransformer.transform({ equals: false, guard: false }),
211
+ createAssertGuard: () =>
212
+ CreateAssertTransformer.transform({ equals: false, guard: true }),
213
+ createAssertType: () =>
214
+ CreateAssertTransformer.transform({ equals: false, guard: false }),
215
+ createIs: () => CreateIsTransformer.transform({ equals: false }),
216
+ createValidate: () =>
217
+ CreateValidateTransformer.transform({
218
+ equals: false,
219
+ standardSchema: true,
220
+ }),
221
+ createAssertEquals: () =>
222
+ CreateAssertTransformer.transform({ equals: true, guard: false }),
223
+ createAssertGuardEquals: () =>
224
+ CreateAssertTransformer.transform({ equals: true, guard: true }),
225
+ createEquals: () => CreateIsTransformer.transform({ equals: true }),
226
+ createValidateEquals: () =>
227
+ CreateValidateTransformer.transform({
228
+ equals: true,
229
+ standardSchema: true,
230
+ }),
231
+ createRandom: () => CreateRandomTransformer.transform,
232
+ },
233
+ functional: {
234
+ // ASSERTIONS
235
+ assertFunction: () =>
236
+ FunctionalGenericTransformer.transform({
237
+ method: "assertFunction",
238
+ config: {
239
+ equals: false,
240
+ },
241
+ programmer: FunctionalAssertFunctionProgrammer.write,
242
+ }),
243
+ assertParameters: () =>
244
+ FunctionalGenericTransformer.transform({
245
+ method: "assertParameters",
246
+ config: {
247
+ equals: false,
248
+ },
249
+ programmer: FunctionalAssertParametersProgrammer.write,
250
+ }),
251
+ assertReturn: () =>
252
+ FunctionalGenericTransformer.transform({
253
+ method: "assertReturn",
254
+ config: {
255
+ equals: false,
256
+ },
257
+ programmer: FunctionAssertReturnProgrammer.write,
258
+ }),
259
+ assertEqualsFunction: () =>
260
+ FunctionalGenericTransformer.transform({
261
+ method: "assertEqualsFunction",
262
+ config: {
263
+ equals: true,
264
+ },
265
+ programmer: FunctionalAssertFunctionProgrammer.write,
266
+ }),
267
+ assertEqualsParameters: () =>
268
+ FunctionalGenericTransformer.transform({
269
+ method: "assertEqualsParameters",
270
+ config: {
271
+ equals: true,
272
+ },
273
+ programmer: FunctionalAssertParametersProgrammer.write,
274
+ }),
275
+ assertEqualsReturn: () =>
276
+ FunctionalGenericTransformer.transform({
277
+ method: "assertEqualsReturn",
278
+ config: {
279
+ equals: true,
280
+ },
281
+ programmer: FunctionAssertReturnProgrammer.write,
282
+ }),
283
+
284
+ // IS
285
+ isFunction: () =>
286
+ FunctionalGenericTransformer.transform({
287
+ method: "isFunction",
288
+ config: {
289
+ equals: false,
290
+ },
291
+ programmer: FunctionalIsFunctionProgrammer.write,
292
+ }),
293
+ isParameters: () =>
294
+ FunctionalGenericTransformer.transform({
295
+ method: "isParameters",
296
+ config: {
297
+ equals: false,
298
+ },
299
+ programmer: FunctionalIsParametersProgrammer.write,
300
+ }),
301
+ isReturn: () =>
302
+ FunctionalGenericTransformer.transform({
303
+ method: "isReturn",
304
+ config: {
305
+ equals: false,
306
+ },
307
+ programmer: FunctionalIsReturnProgrammer.write,
308
+ }),
309
+ equalsFunction: () =>
310
+ FunctionalGenericTransformer.transform({
311
+ method: "equalsFunction",
312
+ config: {
313
+ equals: true,
314
+ },
315
+ programmer: FunctionalIsFunctionProgrammer.write,
316
+ }),
317
+ equalsParameters: () =>
318
+ FunctionalGenericTransformer.transform({
319
+ method: "equalsParameters",
320
+ config: {
321
+ equals: true,
322
+ },
323
+ programmer: FunctionalIsParametersProgrammer.write,
324
+ }),
325
+ equalsReturn: () =>
326
+ FunctionalGenericTransformer.transform({
327
+ method: "equalsReturn",
328
+ config: {
329
+ equals: true,
330
+ },
331
+ programmer: FunctionalIsReturnProgrammer.write,
332
+ }),
333
+
334
+ // VALIDATIONS
335
+ validateFunction: () =>
336
+ FunctionalGenericTransformer.transform({
337
+ method: "validateFunction",
338
+ config: {
339
+ equals: false,
340
+ },
341
+ programmer: FunctionalValidateFunctionProgrammer.write,
342
+ }),
343
+ validateParameters: () =>
344
+ FunctionalGenericTransformer.transform({
345
+ method: "validateParameters",
346
+ config: {
347
+ equals: false,
348
+ },
349
+ programmer: FunctionalValidateParametersProgrammer.write,
350
+ }),
351
+ validateReturn: () =>
352
+ FunctionalGenericTransformer.transform({
353
+ method: "validateReturn",
354
+ config: {
355
+ equals: false,
356
+ },
357
+ programmer: FunctionalValidateReturnProgrammer.write,
358
+ }),
359
+ validateEqualsFunction: () =>
360
+ FunctionalGenericTransformer.transform({
361
+ method: "validateEqualsFunction",
362
+ config: {
363
+ equals: true,
364
+ },
365
+ programmer: FunctionalValidateFunctionProgrammer.write,
366
+ }),
367
+ validateEqualsParameters: () =>
368
+ FunctionalGenericTransformer.transform({
369
+ method: "validateEqualsParameters",
370
+ config: {
371
+ equals: true,
372
+ },
373
+ programmer: FunctionalValidateParametersProgrammer.write,
374
+ }),
375
+ validateEqualsReturn: () =>
376
+ FunctionalGenericTransformer.transform({
377
+ method: "validateEqualsReturn",
378
+ config: {
379
+ equals: true,
380
+ },
381
+ programmer: FunctionalValidateReturnProgrammer.write,
382
+ }),
383
+ },
384
+ http: {
385
+ // FORM-DATA
386
+ formData: () => HttpFormDataTransformer.transform,
387
+ isFormData: () => HttpIsFormDataTransformer.transform,
388
+ assertFormData: () => HttpAssertFormDataTransformer.transform,
389
+ validateFormData: () => HttpValidateFormDataTransformer.transform,
390
+
391
+ // HEADERS
392
+ headers: () => HttpHeadersTransformer.transform,
393
+ isHeaders: () => HttpIsHeadersTransformer.transform,
394
+ assertHeaders: () => HttpAssertHeadersTransformer.transform,
395
+ validateHeaders: () => HttpValidateHeadersTransformer.transform,
396
+
397
+ // PARAMETER
398
+ parameter: () => HttpParameterTransformer.transform,
399
+
400
+ // QUERY
401
+ query: () => HttpQueryTransformer.transform,
402
+ isQuery: () => HttpIsQueryTransformer.transform,
403
+ assertQuery: () => HttpAssertQueryTransformer.transform,
404
+ validateQuery: () => HttpValidateQueryTransformer.transform,
405
+
406
+ // FACTORIES
407
+ createFormData: () => CreateHttpFormDataTransformer.transform,
408
+ createIsFormData: () => CreateHttpIsFormDataTransformer.transform,
409
+ createAssertFormData: () => CreateHttpAssertFormDataTransformer.transform,
410
+ createValidateFormData: () =>
411
+ CreateHttpValidateFormDataTransformer.transform,
412
+ createHeaders: () => CreateHttpHeadersTransformer.transform,
413
+ createIsHeaders: () => CreateHttpIsHeadersTransformer.transform,
414
+ createAssertHeaders: () => CreateHttpAssertHeadersTransformer.transform,
415
+ createValidateHeaders: () => CreateHttpValidateHeadersTransformer.transform,
416
+ createParameter: () => CreateHttpParameterTransformer.transform,
417
+ createQuery: () => CreateHttpQueryTransformer.transform,
418
+ createIsQuery: () => CreateHttpIsQueryTransformer.transform,
419
+ createAssertQuery: () => CreateHttpAssertQueryTransformer.transform,
420
+ createValidateQuery: () => CreateHttpValidateQueryTransformer.transform,
421
+ },
422
+ llm: {
423
+ controller: () => LlmControllerTransformer.transform,
424
+ applicationOfValidate: () => LlmApplicationTransformer.transform,
425
+ application: () => LlmApplicationTransformer.transform,
426
+ parameters: () => LlmParametersTransformer.transform,
427
+ schema: () => LlmSchemaTransformer.transform,
428
+ parse: () => LlmParseTransformer.transform,
429
+ createParse: () => LlmCreateParseTransformer.transform,
430
+ coerce: () => LlmCoerceTransformer.transform,
431
+ createCoerce: () => LlmCreateCoerceTransformer.transform,
432
+ },
433
+ json: {
434
+ // METADATA
435
+ schema: () => JsonSchemaTransformer.transform,
436
+ schemas: () => JsonSchemasTransformer.transform,
437
+ application: () => JsonApplicationTransformer.transform,
438
+
439
+ // PARSER
440
+ isParse: () => JsonIsParseTransformer.transform,
441
+ assertParse: () => JsonAssertParseTransformer.transform,
442
+ validateParse: () => JsonValidateParseTransformer.transform,
443
+
444
+ // STRINGIFY
445
+ stringify: () => JsonStringifyTransformer.transform,
446
+ assertStringify: () => JsonAssertStringifyTransformer.transform,
447
+ isStringify: () => JsonIsStringifyTransformer.transform,
448
+ validateStringify: () => JsonValidateStringifyTransformer.transform,
449
+
450
+ // FACTORIES
451
+ createIsParse: () => JsonCreateIsParseTransformer.transform,
452
+ createAssertParse: () => JsonCreateAssertParseTransformer.transform,
453
+ createValidateParse: () => JsonCreateValidateParseTransformer.transform,
454
+ createStringify: () => JsonCreateStringifyTransformer.transform,
455
+ createAssertStringify: () => JsonCreateAssertStringifyTransformer.transform,
456
+ createIsStringify: () => JsonCreateIsStringifyTransformer.transform,
457
+ createValidateStringify: () =>
458
+ JsonCreateValidateStringifyTransformer.transform,
459
+ },
460
+ protobuf: {
461
+ // SCHEMA
462
+ message: () => ProtobufMessageTransformer.transform,
463
+
464
+ // ENCODE
465
+ encode: () => ProtobufEncodeTransformer.transform,
466
+ assertEncode: () => ProtobufAssertEncodeTransformer.transform,
467
+ isEncode: () => ProtobufIsEncodeTransformer.transform,
468
+ validateEncode: () => ProtobufValidateEncodeTransformer.transform,
469
+
470
+ // DECODE
471
+ decode: () => ProtobufDecodeTransformer.transform,
472
+ assertDecode: () => ProtobufAssertDecodeTransformer.transform,
473
+ isDecode: () => ProtobufIsDecodeTransformer.transform,
474
+ validateDecode: () => ProtobufValidateDecodeTransformer.transform,
475
+
476
+ // FACTORIES
477
+ createEncode: () => ProtobufCreateEncodeTransformer.transform,
478
+ createAssertEncode: () => ProtobufCreateAssertEncodeTransformer.transform,
479
+ createIsEncode: () => ProtobufCreateIsEncodeTransformer.transform,
480
+ createValidateEncode: () =>
481
+ ProtobufCreateValidateEncodeTransformer.transform,
482
+ createDecode: () => ProtobufCreateDecodeTransformer.transform,
483
+ createAssertDecode: () => ProtobufCreateAssertDecodeTransformer.transform,
484
+ createIsDecode: () => ProtobufCreateIsDecodeTransformer.transform,
485
+ createValidateDecode: () =>
486
+ ProtobufCreateValidateDecodeTransformer.transform,
487
+ },
488
+ reflect: {
489
+ metadata: () => ReflectMetadataTransformer.transform,
490
+ name: () => ReflectNameTransformer.transform,
491
+ schema: () => ReflectSchemaTransformer.transform,
492
+ schemas: () => ReflectSchemasTransformer.transform,
493
+ },
494
+ misc: {
495
+ literals: () => MiscLiteralsTransformer.transform,
496
+
497
+ // CLONE
498
+ clone: () => MiscCloneTransformer.transform,
499
+ assertClone: () => MiscAssertCloneTransformer.transform,
500
+ isClone: () => MiscIsCloneTransformer.transform,
501
+ validateClone: () => MiscValidateCloneTransformer.transform,
502
+
503
+ // PRUNE
504
+ prune: () => MiscPruneTransformer.transform,
505
+ assertPrune: () => MiscAssertPruneTransformer.transform,
506
+ isPrune: () => MiscIsPruneTransformer.transform,
507
+ validatePrune: () => MiscValidatePruneTransformer.transform,
508
+
509
+ // FACTORIES
510
+ createClone: () => MiscCreateCloneTransformer.transform,
511
+ createAssertClone: () => MiscCreateAssertCloneTransformer.transform,
512
+ createIsClone: () => MiscCreateIsCloneTransformer.transform,
513
+ createValidateClone: () => MiscCreateValidateCloneTransformer.transform,
514
+ createPrune: () => MiscCreatePruneTransformer.transform,
515
+ createAssertPrune: () => MiscCreateAssertPruneTransformer.transform,
516
+ createIsPrune: () => MiscCreateIsPruneTransformer.transform,
517
+ createValidatePrune: () => MiscCreateValidatePruneTransformer.transform,
518
+ },
519
+ notations: {
520
+ // CAMEL
521
+ camel: () => NotationGeneralTransformer.transform(NamingConvention.camel),
522
+ assertCamel: () =>
523
+ NotationAssertGeneralTransformer.transform(NamingConvention.camel),
524
+ isCamel: () =>
525
+ NotationIsGeneralTransformer.transform(NamingConvention.camel),
526
+ validateCamel: () =>
527
+ NotationValidateGeneralTransformer.transform(NamingConvention.camel),
528
+
529
+ // PASCAL
530
+ pascal: () => NotationGeneralTransformer.transform(NamingConvention.pascal),
531
+ assertPascal: () =>
532
+ NotationAssertGeneralTransformer.transform(NamingConvention.pascal),
533
+ isPascal: () =>
534
+ NotationIsGeneralTransformer.transform(NamingConvention.pascal),
535
+ validatePascal: () =>
536
+ NotationValidateGeneralTransformer.transform(NamingConvention.pascal),
537
+
538
+ // SNAKE
539
+ snake: () => NotationGeneralTransformer.transform(NamingConvention.snake),
540
+ assertSnake: () =>
541
+ NotationAssertGeneralTransformer.transform(NamingConvention.snake),
542
+ isSnake: () =>
543
+ NotationIsGeneralTransformer.transform(NamingConvention.snake),
544
+ validateSnake: () =>
545
+ NotationValidateGeneralTransformer.transform(NamingConvention.snake),
546
+
547
+ // FACTORIES
548
+ createCamel: () =>
549
+ NotationCreateGeneralTransformer.transform(NamingConvention.camel),
550
+ createAssertCamel: () =>
551
+ NotationCreateAssertGeneralTransformer.transform(NamingConvention.camel),
552
+ createIsCamel: () =>
553
+ NotationCreateIsGeneralTransformer.transform(NamingConvention.camel),
554
+ createValidateCamel: () =>
555
+ NotationCreateValidateGeneralTransformer.transform(
556
+ NamingConvention.camel,
557
+ ),
558
+ createPascal: () =>
559
+ NotationCreateGeneralTransformer.transform(NamingConvention.pascal),
560
+ createAssertPascal: () =>
561
+ NotationCreateAssertGeneralTransformer.transform(NamingConvention.pascal),
562
+ createIsPascal: () =>
563
+ NotationCreateIsGeneralTransformer.transform(NamingConvention.pascal),
564
+ createValidatePascal: () =>
565
+ NotationCreateValidateGeneralTransformer.transform(
566
+ NamingConvention.pascal,
567
+ ),
568
+ createSnake: () =>
569
+ NotationCreateGeneralTransformer.transform(NamingConvention.snake),
570
+ createAssertSnake: () =>
571
+ NotationCreateAssertGeneralTransformer.transform(NamingConvention.snake),
572
+ createIsSnake: () =>
573
+ NotationCreateIsGeneralTransformer.transform(NamingConvention.snake),
574
+ createValidateSnake: () =>
575
+ NotationCreateValidateGeneralTransformer.transform(
576
+ NamingConvention.snake,
577
+ ),
578
+ },
579
+ };