@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,29 +1,65 @@
1
- import { LiteralFactory, LlmMetadataFactory, LlmApplicationProgrammer, MetadataFactory, MetadataCollection } from '@typia/core';
1
+ import { LlmMetadataFactory, LlmApplicationProgrammer, MetadataFactory, MetadataCollection } from '@typia/core';
2
2
  import ts from 'typescript';
3
3
  import { TransformerError } from '../../TransformerError.mjs';
4
4
 
5
5
  var LlmApplicationTransformer;
6
6
  (function (LlmApplicationTransformer) {
7
7
  LlmApplicationTransformer.transform = (props) => {
8
- const dec = LlmApplicationTransformer.decompose("application", props);
9
- if (dec === null)
8
+ // GET GENERIC ARGUMENT
9
+ if (!props.expression.typeArguments?.length)
10
+ throw new TransformerError({
11
+ code: "typia.llm.application",
12
+ message: "no generic argument.",
13
+ });
14
+ const top = props.expression.typeArguments[0];
15
+ if (ts.isTypeNode(top) === false)
10
16
  return props.expression;
11
- return ts.factory.createCallExpression(props.context.importer.internal("llmApplicationFinalize"), [dec.node], [
12
- ts.factory.createSatisfiesExpression(LiteralFactory.write(dec.application), props.context.importer.type({
13
- file: "typia",
14
- name: "ILlmApplication.__IPrimitive",
15
- arguments: [dec.node],
16
- })),
17
- ...(props.expression.arguments?.[0] !== undefined
18
- ? [
19
- LlmApplicationTransformer.getConfigArgument({
20
- context: props.context,
21
- argument: props.expression.arguments[0],
22
- equals: dec.config?.equals,
23
- }),
24
- ]
25
- : []),
26
- ]);
17
+ // GET CONFIG
18
+ const config = LlmMetadataFactory.getConfig({
19
+ context: props.context,
20
+ method: "application",
21
+ node: props.expression.typeArguments[1],
22
+ });
23
+ const type = props.context.checker.getTypeFromTypeNode(top);
24
+ // VALIDATE TYPE
25
+ const analyze = (validate) => {
26
+ const result = MetadataFactory.analyze({
27
+ checker: props.context.checker,
28
+ transformer: props.context.transformer,
29
+ options: {
30
+ absorb: validate,
31
+ escape: true,
32
+ constant: true,
33
+ functional: true,
34
+ validate: validate === true
35
+ ? (metadata, explore) => LlmApplicationProgrammer.validate({
36
+ config,
37
+ metadata,
38
+ explore,
39
+ })
40
+ : undefined,
41
+ },
42
+ components: new MetadataCollection({
43
+ replace: MetadataCollection.replace,
44
+ }),
45
+ type,
46
+ });
47
+ if (result.success === false)
48
+ throw TransformerError.from({
49
+ code: "typia.llm.application",
50
+ errors: result.errors,
51
+ });
52
+ return result.data;
53
+ };
54
+ analyze(true);
55
+ // GENERATE LLM APPLICATION
56
+ return LlmApplicationProgrammer.write({
57
+ context: props.context,
58
+ modulo: props.modulo,
59
+ metadata: analyze(false),
60
+ name: top.getFullText().trim(),
61
+ config,
62
+ });
27
63
  };
28
64
  /** @internal */
29
65
  LlmApplicationTransformer.decompose = (method, props) => {
@@ -76,7 +112,7 @@ var LlmApplicationTransformer;
76
112
  analyze(true);
77
113
  // GENERATE LLM APPLICATION
78
114
  return {
79
- application: LlmApplicationProgrammer.write({
115
+ application: LlmApplicationProgrammer.writeApplication({
80
116
  context: props.context,
81
117
  modulo: props.modulo,
82
118
  metadata: analyze(false),
@@ -1 +1 @@
1
- {"version":3,"file":"LlmApplicationTransformer.mjs","sources":["../../../src/features/llm/LlmApplicationTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAeM,IAAW;AAAjB,CAAA,UAAiB,yBAAyB,EAAA;AAC3B,IAAA,yBAAA,CAAA,SAAS,GAAG,CAAC,KAAsB,KAAmB;QACjE,MAAM,GAAG,GAAG,yBAAA,CAAA,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC;QAC3C,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,UAAU;QACzC,OAAO,EAAE,CAAC,OAAO,CAAC,oBAAoB,CACpC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EACzD,CAAC,GAAG,CAAC,IAAI,CAAC,EACV;YACE,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EACrC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,IAAI,EAAE,8BAA8B;AACpC,gBAAA,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,aAAA,CAAC,CACH;YACD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK;AACtC,kBAAE;AACE,oBAAA,yBAAA,CAAA,iBAAiB,CAAC;wBAChB,OAAO,EAAE,KAAK,CAAC,OAAO;wBACtB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACvC,wBAAA,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM;qBAC3B,CAAC;AACH;kBACD,EAAE,CAAC;AACR,SAAA,CACF;AACH,IAAA,CAAC;;AAGY,IAAA,yBAAA,CAAA,SAAS,GAAG,CACvB,MAAc,EACd,KAAsB,KAYb;;AAET,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;gBACzB,IAAI,EAAE,CAAA,UAAA,EAAa,MAAM,CAAA,CAAE;AAC3B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;QACJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;AAAE,YAAA,OAAO,IAAI;;AAG7C,QAAA,MAAM,MAAM,GAMI,kBAAkB,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM;YACN,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AACxC,SAAA,CAAC;AACF,QAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;;AAGpE,QAAA,MAAM,OAAO,GAAG,CAAC,QAAiB,KAAoB;AACpD,YAAA,MAAM,MAAM,GACV,eAAe,CAAC,OAAO,CAAC;AACtB,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,UAAU,EAAE,IAAI;oBAChB,QAAQ,EACN,QAAQ,KAAK;0BACT,CAAC,QAAQ,EAAE,OAAO,KAChB,wBAAwB,CAAC,QAAQ,CAAC;4BAChC,MAAM;4BACN,QAAQ;4BACR,OAAO;yBACR;AACL,0BAAE,SAAS;AAChB,iBAAA;gBACD,UAAU,EAAE,IAAI,kBAAkB,CAAC;oBACjC,OAAO,EAAE,kBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;AACL,aAAA,CAAC;AACJ,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,CAAA,UAAA,EAAa,MAAM,CAAA,CAAE;oBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;;QAGb,OAAO;AACL,YAAA,WAAW,EAAE,wBAAwB,CAAC,KAAK,CAAC;gBAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,gBAAA,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;gBACxB,MAAM;AACN,gBAAA,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;aAC/B,CAAC;AACF,YAAA,IAAI,EAAE,GAAG;YACT,IAAI;YACJ,MAAM;SACP;AACH,IAAA,CAAC;AAEY,IAAA,yBAAA,CAAA,iBAAiB,GAAG,CAAC,KAIjC,KAAI;AACH,QAAA,MAAM,iBAAiB,GAAgB,EAAE,CAAC,OAAO,CAAC,uBAAuB,CACvE,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,EACtC;AACE,YAAA,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAChC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,CAAC,EACnC;gBACE,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CACxC,EACD,SAAS,EACT,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAC5B,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAC9C,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,SAAS,CAAC,CACvC,EACD,SAAS,EACT,KAAK,CACN;AACD,gBAAA,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC;AAC7B,oBAAA,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAC9B,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAC3C;iBACF,CAAC;aACH,CACF;AACF,SAAA,CACF;AACD,QAAA,OAAO,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAC7C;AACE,YAAA,EAAE,CAAC,OAAO,CAAC,sBAAsB,CAC/B,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,KAAK,CAAC,QAAQ,EACd,iBAAiB,CAClB,CACF;YACD,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,QAAQ,EACR,KAAK,CAAC,MAAM,KAAK;AACf,kBAAE,EAAE,CAAC,OAAO,CAAC,UAAU;AACvB,kBAAE,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAC7B;SACF,EACD,IAAI,CACL;AACH,IAAA,CAAC;AACH,CAAC,EAxKgB,yBAAyB,KAAzB,yBAAyB,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"LlmApplicationTransformer.mjs","sources":["../../../src/features/llm/LlmApplicationTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { ITransformProps } from "../../ITransformProps";
3
+ export declare namespace LlmCoerceTransformer {
4
+ const transform: (props: ITransformProps) => ts.Expression;
5
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LlmCoerceTransformer = void 0;
7
+ const core_1 = require("@typia/core");
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const TransformerError_1 = require("../../TransformerError");
10
+ var LlmCoerceTransformer;
11
+ (function (LlmCoerceTransformer) {
12
+ LlmCoerceTransformer.transform = (props) => {
13
+ var _a;
14
+ // CHECK PARAMETER
15
+ if (props.expression.arguments.length === 0)
16
+ throw new TransformerError_1.TransformerError({
17
+ code: "typia.llm.coerce",
18
+ message: "no input value.",
19
+ });
20
+ // GET GENERIC ARGUMENT
21
+ if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
22
+ throw new TransformerError_1.TransformerError({
23
+ code: "typia.llm.coerce",
24
+ message: "no generic argument.",
25
+ });
26
+ const top = props.expression.typeArguments[0];
27
+ if (typescript_1.default.isTypeNode(top) === false)
28
+ return props.expression;
29
+ // GET TYPE AND CONFIG
30
+ const config = core_1.LlmMetadataFactory.getConfig({
31
+ context: props.context,
32
+ method: "coerce",
33
+ node: props.expression.typeArguments[1],
34
+ });
35
+ const type = props.context.checker.getTypeFromTypeNode(top);
36
+ if (type.isTypeParameter())
37
+ throw new TransformerError_1.TransformerError({
38
+ code: "typia.llm.coerce",
39
+ message: "non-specified generic argument.",
40
+ });
41
+ // VALIDATE TYPE
42
+ const analyze = (validate) => {
43
+ const result = core_1.MetadataFactory.analyze({
44
+ checker: props.context.checker,
45
+ transformer: props.context.transformer,
46
+ options: {
47
+ absorb: validate,
48
+ escape: true,
49
+ constant: true,
50
+ validate: validate === true
51
+ ? (metadata, explore) => core_1.LlmCoerceProgrammer.validate({
52
+ config,
53
+ metadata,
54
+ explore,
55
+ })
56
+ : undefined,
57
+ },
58
+ components: new core_1.MetadataCollection({
59
+ replace: core_1.MetadataCollection.replace,
60
+ }),
61
+ type,
62
+ });
63
+ if (result.success === false)
64
+ throw TransformerError_1.TransformerError.from({
65
+ code: "typia.llm.coerce",
66
+ errors: result.errors,
67
+ });
68
+ return result.data;
69
+ };
70
+ analyze(true);
71
+ // GENERATE CODE
72
+ return typescript_1.default.factory.createCallExpression(core_1.LlmCoerceProgrammer.write({
73
+ context: props.context,
74
+ modulo: props.modulo,
75
+ metadata: analyze(false),
76
+ name: top.getFullText().trim(),
77
+ config,
78
+ }), undefined, props.expression.arguments);
79
+ };
80
+ })(LlmCoerceTransformer || (exports.LlmCoerceTransformer = LlmCoerceTransformer = {}));
81
+ //# sourceMappingURL=LlmCoerceTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmCoerceTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmCoerceTransformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { LlmMetadataFactory, LlmCoerceProgrammer, MetadataFactory, MetadataCollection } from '@typia/core';
2
+ import ts from 'typescript';
3
+ import { TransformerError } from '../../TransformerError.mjs';
4
+
5
+ var LlmCoerceTransformer;
6
+ (function (LlmCoerceTransformer) {
7
+ LlmCoerceTransformer.transform = (props) => {
8
+ // CHECK PARAMETER
9
+ if (props.expression.arguments.length === 0)
10
+ throw new TransformerError({
11
+ code: "typia.llm.coerce",
12
+ message: "no input value.",
13
+ });
14
+ // GET GENERIC ARGUMENT
15
+ if (!props.expression.typeArguments?.length)
16
+ throw new TransformerError({
17
+ code: "typia.llm.coerce",
18
+ message: "no generic argument.",
19
+ });
20
+ const top = props.expression.typeArguments[0];
21
+ if (ts.isTypeNode(top) === false)
22
+ return props.expression;
23
+ // GET TYPE AND CONFIG
24
+ const config = LlmMetadataFactory.getConfig({
25
+ context: props.context,
26
+ method: "coerce",
27
+ node: props.expression.typeArguments[1],
28
+ });
29
+ const type = props.context.checker.getTypeFromTypeNode(top);
30
+ if (type.isTypeParameter())
31
+ throw new TransformerError({
32
+ code: "typia.llm.coerce",
33
+ message: "non-specified generic argument.",
34
+ });
35
+ // VALIDATE TYPE
36
+ const analyze = (validate) => {
37
+ const result = MetadataFactory.analyze({
38
+ checker: props.context.checker,
39
+ transformer: props.context.transformer,
40
+ options: {
41
+ absorb: validate,
42
+ escape: true,
43
+ constant: true,
44
+ validate: validate === true
45
+ ? (metadata, explore) => LlmCoerceProgrammer.validate({
46
+ config,
47
+ metadata,
48
+ explore,
49
+ })
50
+ : undefined,
51
+ },
52
+ components: new MetadataCollection({
53
+ replace: MetadataCollection.replace,
54
+ }),
55
+ type,
56
+ });
57
+ if (result.success === false)
58
+ throw TransformerError.from({
59
+ code: "typia.llm.coerce",
60
+ errors: result.errors,
61
+ });
62
+ return result.data;
63
+ };
64
+ analyze(true);
65
+ // GENERATE CODE
66
+ return ts.factory.createCallExpression(LlmCoerceProgrammer.write({
67
+ context: props.context,
68
+ modulo: props.modulo,
69
+ metadata: analyze(false),
70
+ name: top.getFullText().trim(),
71
+ config,
72
+ }), undefined, props.expression.arguments);
73
+ };
74
+ })(LlmCoerceTransformer || (LlmCoerceTransformer = {}));
75
+
76
+ export { LlmCoerceTransformer };
77
+ //# sourceMappingURL=LlmCoerceTransformer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmCoerceTransformer.mjs","sources":["../../../src/features/llm/LlmCoerceTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -25,16 +25,22 @@ var LlmControllerTransformer;
25
25
  code: `typia.llm.controller`,
26
26
  message: `no executor.`,
27
27
  });
28
+ const typeNode = props.context.importer.type({
29
+ file: "typia",
30
+ name: "ILlmController",
31
+ arguments: [dec.node],
32
+ });
33
+ const primitiveTypeNode = props.context.importer.type({
34
+ file: "typia",
35
+ name: "ILlmApplication.__IPrimitive",
36
+ arguments: [dec.node],
37
+ });
28
38
  const value = typescript_1.default.factory.createObjectLiteralExpression([
29
39
  typescript_1.default.factory.createPropertyAssignment("protocol", typescript_1.default.factory.createStringLiteral("class")),
30
40
  typescript_1.default.factory.createPropertyAssignment("name", props.expression.arguments[0]),
31
41
  typescript_1.default.factory.createPropertyAssignment("execute", props.expression.arguments[1]),
32
42
  typescript_1.default.factory.createPropertyAssignment("application", typescript_1.default.factory.createCallExpression(props.context.importer.internal("llmApplicationFinalize"), undefined, [
33
- typescript_1.default.factory.createSatisfiesExpression(core_1.LiteralFactory.write(dec.application), props.context.importer.type({
34
- file: "typia",
35
- name: "ILlmApplication.__IPrimitive",
36
- arguments: [dec.node],
37
- })),
43
+ typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createSatisfiesExpression(core_1.LiteralFactory.write(dec.application), primitiveTypeNode), primitiveTypeNode),
38
44
  ...(((_a = props.expression.arguments) === null || _a === void 0 ? void 0 : _a[2]) !== undefined
39
45
  ? [
40
46
  LlmApplicationTransformer_1.LlmApplicationTransformer.getConfigArgument({
@@ -46,11 +52,7 @@ var LlmControllerTransformer;
46
52
  : []),
47
53
  ])),
48
54
  ], true);
49
- return typescript_1.default.factory.createSatisfiesExpression(value, props.context.importer.type({
50
- file: "typia",
51
- name: "ILlmController",
52
- arguments: [dec.node],
53
- }));
55
+ return typescript_1.default.factory.createAsExpression(typescript_1.default.factory.createSatisfiesExpression(value, typeNode), typeNode);
54
56
  };
55
57
  })(LlmControllerTransformer || (exports.LlmControllerTransformer = LlmControllerTransformer = {}));
56
58
  //# sourceMappingURL=LlmControllerTransformer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LlmControllerTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmControllerTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAA6C;AAC7C,4DAA4B;AAG5B,6DAA0D;AAC1D,2EAAwE;AAExE,IAAiB,wBAAwB,CAoExC;AApED,WAAiB,wBAAwB;IAC1B,kCAAS,GAAG,CAAC,KAAsB,EAAiB,EAAE;;QACjE,MAAM,GAAG,GAAG,qDAAyB,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACtE,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;aACrC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS;YAClD,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,qBAAqB;aAC/B,CAAC,CAAC;aACA,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS;YAClD,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,cAAc;aACxB,CAAC,CAAC;QAEL,MAAM,KAAK,GACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;YACE,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,UAAU,EACV,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CACxC;YACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,MAAM,EACN,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC9B;YACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,SAAS,EACT,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC9B;YACD,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,aAAa,EACb,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EACzD,SAAS,EACT;gBACE,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,qBAAc,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EACrC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,OAAO;oBACb,IAAI,EAAE,8BAA8B;oBACpC,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;iBACtB,CAAC,CACH;gBACD,GAAG,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,SAAS,0CAAG,CAAC,CAAC,MAAK,SAAS;oBAC/C,CAAC,CAAC;wBACE,qDAAyB,CAAC,iBAAiB,CAAC;4BAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;4BACvC,MAAM,EAAE,MAAA,GAAG,CAAC,MAAM,0CAAE,MAAM;yBAC3B,CAAC;qBACH;oBACH,CAAC,CAAC,EAAE,CAAC;aACR,CACF,CACF;SACF,EACD,IAAI,CACL,CAAC;QACJ,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CACzC,KAAK,EACL,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,OAAO;YACb,IAAI,EAAE,gBAAgB;YACtB,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;SACtB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EApEgB,wBAAwB,wCAAxB,wBAAwB,QAoExC"}
1
+ {"version":3,"file":"LlmControllerTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmControllerTransformer.ts"],"names":[],"mappings":"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"}
@@ -19,16 +19,22 @@ var LlmControllerTransformer;
19
19
  code: `typia.llm.controller`,
20
20
  message: `no executor.`,
21
21
  });
22
+ const typeNode = props.context.importer.type({
23
+ file: "typia",
24
+ name: "ILlmController",
25
+ arguments: [dec.node],
26
+ });
27
+ const primitiveTypeNode = props.context.importer.type({
28
+ file: "typia",
29
+ name: "ILlmApplication.__IPrimitive",
30
+ arguments: [dec.node],
31
+ });
22
32
  const value = ts.factory.createObjectLiteralExpression([
23
33
  ts.factory.createPropertyAssignment("protocol", ts.factory.createStringLiteral("class")),
24
34
  ts.factory.createPropertyAssignment("name", props.expression.arguments[0]),
25
35
  ts.factory.createPropertyAssignment("execute", props.expression.arguments[1]),
26
36
  ts.factory.createPropertyAssignment("application", ts.factory.createCallExpression(props.context.importer.internal("llmApplicationFinalize"), undefined, [
27
- ts.factory.createSatisfiesExpression(LiteralFactory.write(dec.application), props.context.importer.type({
28
- file: "typia",
29
- name: "ILlmApplication.__IPrimitive",
30
- arguments: [dec.node],
31
- })),
37
+ ts.factory.createAsExpression(ts.factory.createSatisfiesExpression(LiteralFactory.write(dec.application), primitiveTypeNode), primitiveTypeNode),
32
38
  ...(props.expression.arguments?.[2] !== undefined
33
39
  ? [
34
40
  LlmApplicationTransformer.getConfigArgument({
@@ -40,11 +46,7 @@ var LlmControllerTransformer;
40
46
  : []),
41
47
  ])),
42
48
  ], true);
43
- return ts.factory.createSatisfiesExpression(value, props.context.importer.type({
44
- file: "typia",
45
- name: "ILlmController",
46
- arguments: [dec.node],
47
- }));
49
+ return ts.factory.createAsExpression(ts.factory.createSatisfiesExpression(value, typeNode), typeNode);
48
50
  };
49
51
  })(LlmControllerTransformer || (LlmControllerTransformer = {}));
50
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"LlmControllerTransformer.mjs","sources":["../../../src/features/llm/LlmControllerTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAOM,IAAW;AAAjB,CAAA,UAAiB,wBAAwB,EAAA;AAC1B,IAAA,wBAAA,CAAA,SAAS,GAAG,CAAC,KAAsB,KAAmB;QACjE,MAAM,GAAG,GAAG,yBAAyB,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC;QACrE,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,UAAU;aACpC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS;YAClD,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,CAAA,oBAAA,CAAsB;AAC5B,gBAAA,OAAO,EAAE,CAAA,mBAAA,CAAqB;AAC/B,aAAA,CAAC;aACC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS;YAClD,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,CAAA,oBAAA,CAAsB;AAC5B,gBAAA,OAAO,EAAE,CAAA,YAAA,CAAc;AACxB,aAAA,CAAC;AAEJ,QAAA,MAAM,KAAK,GACT,EAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;AACE,YAAA,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,UAAU,EACV,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CACxC;AACD,YAAA,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,MAAM,EACN,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC9B;AACD,YAAA,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,SAAS,EACT,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC9B;YACD,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,aAAa,EACb,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EACzD,SAAS,EACT;gBACE,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EACrC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,OAAO;AACb,oBAAA,IAAI,EAAE,8BAA8B;AACpC,oBAAA,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,iBAAA,CAAC,CACH;gBACD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK;AACtC,sBAAE;wBACE,yBAAyB,CAAC,iBAAiB,CAAC;4BAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACvC,4BAAA,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM;yBAC3B,CAAC;AACH;sBACD,EAAE,CAAC;AACR,aAAA,CACF,CACF;SACF,EACD,IAAI,CACL;AACH,QAAA,OAAO,EAAE,CAAC,OAAO,CAAC,yBAAyB,CACzC,KAAK,EACL,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,SAAA,CAAC,CACH;AACH,IAAA,CAAC;AACH,CAAC,EApEgB,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;;;"}
1
+ {"version":3,"file":"LlmControllerTransformer.mjs","sources":["../../../src/features/llm/LlmControllerTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAOM,IAAW;AAAjB,CAAA,UAAiB,wBAAwB,EAAA;AAC1B,IAAA,wBAAA,CAAA,SAAS,GAAG,CAAC,KAAsB,KAAmB;QACjE,MAAM,GAAG,GAAG,yBAAyB,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC;QACrE,IAAI,GAAG,KAAK,IAAI;YAAE,OAAO,KAAK,CAAC,UAAU;aACpC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS;YAClD,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,CAAA,oBAAA,CAAsB;AAC5B,gBAAA,OAAO,EAAE,CAAA,mBAAA,CAAqB;AAC/B,aAAA,CAAC;aACC,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,SAAS;YAClD,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,CAAA,oBAAA,CAAsB;AAC5B,gBAAA,OAAO,EAAE,CAAA,YAAA,CAAc;AACxB,aAAA,CAAC;QAEJ,MAAM,QAAQ,GAAsB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC9D,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,gBAAgB;AACtB,YAAA,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,SAAA,CAAC;QACF,MAAM,iBAAiB,GAAsB,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;AACvE,YAAA,IAAI,EAAE,OAAO;AACb,YAAA,IAAI,EAAE,8BAA8B;AACpC,YAAA,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC;AACtB,SAAA,CAAC;AACF,QAAA,MAAM,KAAK,GACT,EAAE,CAAC,OAAO,CAAC,6BAA6B,CACtC;AACE,YAAA,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,UAAU,EACV,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CACxC;AACD,YAAA,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,MAAM,EACN,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC9B;AACD,YAAA,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,SAAS,EACT,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC9B;YACD,EAAE,CAAC,OAAO,CAAC,wBAAwB,CACjC,aAAa,EACb,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAC7B,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EACzD,SAAS,EACT;gBACE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAC3B,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAClC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,EACrC,iBAAiB,CAClB,EACD,iBAAiB,CAClB;gBACD,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK;AACtC,sBAAE;wBACE,yBAAyB,CAAC,iBAAiB,CAAC;4BAC1C,OAAO,EAAE,KAAK,CAAC,OAAO;4BACtB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AACvC,4BAAA,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM;yBAC3B,CAAC;AACH;sBACD,EAAE,CAAC;AACR,aAAA,CACF,CACF;SACF,EACD,IAAI,CACL;AACH,QAAA,OAAO,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAClC,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,EACrD,QAAQ,CACT;AACH,IAAA,CAAC;AACH,CAAC,EAzEgB,wBAAwB,KAAxB,wBAAwB,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { ITransformProps } from "../../ITransformProps";
3
+ export declare namespace LlmCreateCoerceTransformer {
4
+ const transform: (props: ITransformProps) => ts.Expression;
5
+ }
@@ -0,0 +1,75 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.LlmCreateCoerceTransformer = void 0;
7
+ const core_1 = require("@typia/core");
8
+ const typescript_1 = __importDefault(require("typescript"));
9
+ const TransformerError_1 = require("../../TransformerError");
10
+ var LlmCreateCoerceTransformer;
11
+ (function (LlmCreateCoerceTransformer) {
12
+ LlmCreateCoerceTransformer.transform = (props) => {
13
+ var _a;
14
+ // GET GENERIC ARGUMENT
15
+ if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
16
+ throw new TransformerError_1.TransformerError({
17
+ code: "typia.llm.createCoerce",
18
+ message: "no generic argument.",
19
+ });
20
+ const top = props.expression.typeArguments[0];
21
+ if (typescript_1.default.isTypeNode(top) === false)
22
+ return props.expression;
23
+ // GET TYPE AND CONFIG
24
+ const config = core_1.LlmMetadataFactory.getConfig({
25
+ context: props.context,
26
+ method: "createCoerce",
27
+ node: props.expression.typeArguments[1],
28
+ });
29
+ const type = props.context.checker.getTypeFromTypeNode(top);
30
+ if (type.isTypeParameter())
31
+ throw new TransformerError_1.TransformerError({
32
+ code: "typia.llm.createCoerce",
33
+ message: "non-specified generic argument.",
34
+ });
35
+ // VALIDATE TYPE
36
+ const analyze = (validate) => {
37
+ const result = core_1.MetadataFactory.analyze({
38
+ checker: props.context.checker,
39
+ transformer: props.context.transformer,
40
+ options: {
41
+ absorb: validate,
42
+ escape: true,
43
+ constant: true,
44
+ validate: validate === true
45
+ ? (metadata, explore) => core_1.LlmCoerceProgrammer.validate({
46
+ config,
47
+ metadata,
48
+ explore,
49
+ })
50
+ : undefined,
51
+ },
52
+ components: new core_1.MetadataCollection({
53
+ replace: core_1.MetadataCollection.replace,
54
+ }),
55
+ type,
56
+ });
57
+ if (result.success === false)
58
+ throw TransformerError_1.TransformerError.from({
59
+ code: "typia.llm.createCoerce",
60
+ errors: result.errors,
61
+ });
62
+ return result.data;
63
+ };
64
+ analyze(true);
65
+ // GENERATE CODE (factory returns the function directly)
66
+ return core_1.LlmCoerceProgrammer.write({
67
+ context: props.context,
68
+ modulo: props.modulo,
69
+ metadata: analyze(false),
70
+ name: top.getFullText().trim(),
71
+ config,
72
+ });
73
+ };
74
+ })(LlmCreateCoerceTransformer || (exports.LlmCreateCoerceTransformer = LlmCreateCoerceTransformer = {}));
75
+ //# sourceMappingURL=LlmCreateCoerceTransformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmCreateCoerceTransformer.js","sourceRoot":"","sources":["../../../src/features/llm/LlmCreateCoerceTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAMqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,0BAA0B,CAsE1C;AAtED,WAAiB,0BAA0B;IAC5B,oCAAS,GAAG,CAAC,KAAsB,EAAiB,EAAE;;QACjE,uBAAuB;QACvB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QAEL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,oBAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1D,sBAAsB;QACtB,MAAM,MAAM,GAAgC,yBAAkB,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;SACxC,CAAgC,CAAC;QAElC,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAErE,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,iCAAiC;aAC3C,CAAC,CAAC;QAEL,gBAAgB;QAChB,MAAM,OAAO,GAAG,CAAC,QAAiB,EAAkB,EAAE;YACpD,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,OAAO,EAAE;oBACP,MAAM,EAAE,QAAQ;oBAChB,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,QAAQ,EACN,QAAQ,KAAK,IAAI;wBACf,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,CACpB,0BAAmB,CAAC,QAAQ,CAAC;4BAC3B,MAAM;4BACN,QAAQ;4BACR,OAAO;yBACR,CAAC;wBACN,CAAC,CAAC,SAAS;iBAChB;gBACD,UAAU,EAAE,IAAI,yBAAkB,CAAC;oBACjC,OAAO,EAAE,yBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;aACL,CAAC,CAAC;YACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;YACL,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC;QACF,OAAO,CAAC,IAAI,CAAC,CAAC;QAEd,wDAAwD;QACxD,OAAO,0BAAmB,CAAC,KAAK,CAAC;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;YACxB,IAAI,EAAG,GAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;YAC/C,MAAM;SACP,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,EAtEgB,0BAA0B,0CAA1B,0BAA0B,QAsE1C"}
@@ -0,0 +1,71 @@
1
+ import { LlmMetadataFactory, LlmCoerceProgrammer, MetadataFactory, MetadataCollection } from '@typia/core';
2
+ import ts from 'typescript';
3
+ import { TransformerError } from '../../TransformerError.mjs';
4
+
5
+ var LlmCreateCoerceTransformer;
6
+ (function (LlmCreateCoerceTransformer) {
7
+ LlmCreateCoerceTransformer.transform = (props) => {
8
+ // GET GENERIC ARGUMENT
9
+ if (!props.expression.typeArguments?.length)
10
+ throw new TransformerError({
11
+ code: "typia.llm.createCoerce",
12
+ message: "no generic argument.",
13
+ });
14
+ const top = props.expression.typeArguments[0];
15
+ if (ts.isTypeNode(top) === false)
16
+ return props.expression;
17
+ // GET TYPE AND CONFIG
18
+ const config = LlmMetadataFactory.getConfig({
19
+ context: props.context,
20
+ method: "createCoerce",
21
+ node: props.expression.typeArguments[1],
22
+ });
23
+ const type = props.context.checker.getTypeFromTypeNode(top);
24
+ if (type.isTypeParameter())
25
+ throw new TransformerError({
26
+ code: "typia.llm.createCoerce",
27
+ message: "non-specified generic argument.",
28
+ });
29
+ // VALIDATE TYPE
30
+ const analyze = (validate) => {
31
+ const result = MetadataFactory.analyze({
32
+ checker: props.context.checker,
33
+ transformer: props.context.transformer,
34
+ options: {
35
+ absorb: validate,
36
+ escape: true,
37
+ constant: true,
38
+ validate: validate === true
39
+ ? (metadata, explore) => LlmCoerceProgrammer.validate({
40
+ config,
41
+ metadata,
42
+ explore,
43
+ })
44
+ : undefined,
45
+ },
46
+ components: new MetadataCollection({
47
+ replace: MetadataCollection.replace,
48
+ }),
49
+ type,
50
+ });
51
+ if (result.success === false)
52
+ throw TransformerError.from({
53
+ code: "typia.llm.createCoerce",
54
+ errors: result.errors,
55
+ });
56
+ return result.data;
57
+ };
58
+ analyze(true);
59
+ // GENERATE CODE (factory returns the function directly)
60
+ return LlmCoerceProgrammer.write({
61
+ context: props.context,
62
+ modulo: props.modulo,
63
+ metadata: analyze(false),
64
+ name: top.getFullText().trim(),
65
+ config,
66
+ });
67
+ };
68
+ })(LlmCreateCoerceTransformer || (LlmCreateCoerceTransformer = {}));
69
+
70
+ export { LlmCreateCoerceTransformer };
71
+ //# sourceMappingURL=LlmCreateCoerceTransformer.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LlmCreateCoerceTransformer.mjs","sources":["../../../src/features/llm/LlmCreateCoerceTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAaM,IAAW;AAAjB,CAAA,UAAiB,0BAA0B,EAAA;AAC5B,IAAA,0BAAA,CAAA,SAAS,GAAG,CAAC,KAAsB,KAAmB;;AAEjE,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;QAEJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,UAAU;;AAGzD,QAAA,MAAM,MAAM,GAAgC,kBAAkB,CAAC,SAAS,CAAC;YACvE,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,YAAA,MAAM,EAAE,cAAc;YACtB,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;AACxC,SAAA,CAAgC;AAEjC,QAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC;QAEpE,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,iCAAiC;AAC3C,aAAA,CAAC;;AAGJ,QAAA,MAAM,OAAO,GAAG,CAAC,QAAiB,KAAoB;AACpD,YAAA,MAAM,MAAM,GACV,eAAe,CAAC,OAAO,CAAC;AACtB,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;oBACd,QAAQ,EACN,QAAQ,KAAK;0BACT,CAAC,QAAQ,EAAE,OAAO,KAChB,mBAAmB,CAAC,QAAQ,CAAC;4BAC3B,MAAM;4BACN,QAAQ;4BACR,OAAO;yBACR;AACL,0BAAE,SAAS;AAChB,iBAAA;gBACD,UAAU,EAAE,IAAI,kBAAkB,CAAC;oBACjC,OAAO,EAAE,kBAAkB,CAAC,OAAO;iBACpC,CAAC;gBACF,IAAI;AACL,aAAA,CAAC;AACJ,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC;QACD,OAAO,CAAC,IAAI,CAAC;;QAGb,OAAO,mBAAmB,CAAC,KAAK,CAAC;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,KAAK,CAAC,MAAM;AACpB,YAAA,QAAQ,EAAE,OAAO,CAAC,KAAK,CAAC;AACxB,YAAA,IAAI,EAAG,GAAmB,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;YAC/C,MAAM;AACP,SAAA,CAAC;AACJ,IAAA,CAAC;AACH,CAAC,EAtEgB,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;;;;"}
@@ -0,0 +1,5 @@
1
+ import ts from "typescript";
2
+ import { ITransformProps } from "../../ITransformProps";
3
+ export declare namespace LlmCreateParseTransformer {
4
+ const transform: (props: ITransformProps) => ts.Expression;
5
+ }