typia 7.0.0-dev.20241007 → 7.0.0-dev.20241008

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 (240) hide show
  1. package/lib/factories/ExpressionFactory.d.ts +1 -1
  2. package/lib/factories/ValueFactory.d.ts +1 -1
  3. package/lib/programmers/AssertProgrammer.d.ts +5 -2
  4. package/lib/programmers/AssertProgrammer.js +12 -5
  5. package/lib/programmers/AssertProgrammer.js.map +1 -1
  6. package/lib/programmers/ImportProgrammer.d.ts +25 -4
  7. package/lib/programmers/ImportProgrammer.js +67 -31
  8. package/lib/programmers/ImportProgrammer.js.map +1 -1
  9. package/lib/programmers/RandomProgrammer.js +48 -32
  10. package/lib/programmers/RandomProgrammer.js.map +1 -1
  11. package/lib/programmers/ValidateProgrammer.js +10 -4
  12. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  13. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +1 -1
  14. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
  15. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.d.ts +1 -0
  16. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +14 -5
  17. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -1
  18. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +5 -1
  19. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  20. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +1 -0
  21. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  22. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +4 -1
  23. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  24. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +4 -1
  25. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  26. package/lib/programmers/http/HttpAssertQueryProgrammer.js +4 -1
  27. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  28. package/lib/programmers/http/HttpFormDataProgrammer.js +10 -6
  29. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  30. package/lib/programmers/http/HttpHeadersProgrammer.js +10 -6
  31. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  32. package/lib/programmers/http/HttpQueryProgrammer.js +10 -6
  33. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  34. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +5 -3
  35. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  36. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +5 -3
  37. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  38. package/lib/programmers/http/HttpValidateQueryProgrammer.js +5 -3
  39. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  40. package/lib/programmers/json/JsonAssertParseProgrammer.js +14 -7
  41. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  42. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +4 -1
  43. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  44. package/lib/programmers/json/JsonIsParseProgrammer.js +10 -6
  45. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  46. package/lib/programmers/json/JsonValidateParseProgrammer.js +16 -4
  47. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  48. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +7 -3
  49. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  50. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +4 -1
  51. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  52. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +4 -1
  53. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  54. package/lib/programmers/misc/MiscCloneProgrammer.js +10 -6
  55. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  56. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +5 -3
  57. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  58. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +10 -4
  59. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  60. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +4 -1
  61. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  62. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +2 -1
  63. package/lib/programmers/notations/NotationGeneralProgrammer.js +13 -5
  64. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  65. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +5 -3
  66. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  67. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +4 -1
  68. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  69. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +4 -1
  70. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  71. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +10 -6
  72. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  73. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +5 -3
  74. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  75. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +7 -3
  76. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  77. package/package.json +1 -1
  78. package/src/factories/JsonMetadataFactory.ts +63 -63
  79. package/src/factories/ProtobufFactory.ts +275 -275
  80. package/src/programmers/AssertProgrammer.ts +454 -456
  81. package/src/programmers/CheckerProgrammer.ts +1610 -1610
  82. package/src/programmers/ImportProgrammer.ts +184 -109
  83. package/src/programmers/IsProgrammer.ts +273 -273
  84. package/src/programmers/RandomProgrammer.ts +168 -149
  85. package/src/programmers/TypiaProgrammer.ts +171 -171
  86. package/src/programmers/ValidateProgrammer.ts +434 -430
  87. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +1 -1
  88. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +12 -16
  89. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +5 -12
  90. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +1 -0
  91. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  92. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +99 -96
  93. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +99 -96
  94. package/src/programmers/http/HttpAssertQueryProgrammer.ts +105 -102
  95. package/src/programmers/http/HttpFormDataProgrammer.ts +304 -308
  96. package/src/programmers/http/HttpHeadersProgrammer.ts +400 -404
  97. package/src/programmers/http/HttpIsFormDataProgrammer.ts +108 -108
  98. package/src/programmers/http/HttpIsHeadersProgrammer.ts +108 -108
  99. package/src/programmers/http/HttpIsQueryProgrammer.ts +114 -114
  100. package/src/programmers/http/HttpParameterProgrammer.ts +115 -115
  101. package/src/programmers/http/HttpQueryProgrammer.ts +329 -333
  102. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +92 -90
  103. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +92 -90
  104. package/src/programmers/http/HttpValidateQueryProgrammer.ts +98 -96
  105. package/src/programmers/json/JsonApplicationProgrammer.ts +92 -92
  106. package/src/programmers/json/JsonAssertParseProgrammer.ts +103 -104
  107. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +115 -112
  108. package/src/programmers/json/JsonIsParseProgrammer.ts +114 -118
  109. package/src/programmers/json/JsonIsStringifyProgrammer.ts +108 -108
  110. package/src/programmers/json/JsonStringifyProgrammer.ts +1124 -1124
  111. package/src/programmers/json/JsonValidateParseProgrammer.ts +105 -95
  112. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +124 -119
  113. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +95 -92
  114. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +116 -113
  115. package/src/programmers/misc/MiscCloneProgrammer.ts +1025 -1029
  116. package/src/programmers/misc/MiscIsCloneProgrammer.ts +99 -99
  117. package/src/programmers/misc/MiscIsPruneProgrammer.ts +97 -97
  118. package/src/programmers/misc/MiscLiteralsProgrammer.ts +80 -80
  119. package/src/programmers/misc/MiscPruneProgrammer.ts +725 -725
  120. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +111 -109
  121. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +113 -109
  122. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +101 -98
  123. package/src/programmers/notations/NotationGeneralProgrammer.ts +977 -973
  124. package/src/programmers/notations/NotationIsGeneralProgrammer.ts +105 -105
  125. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +119 -117
  126. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +98 -95
  127. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +102 -99
  128. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +708 -711
  129. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +1019 -1019
  130. package/src/programmers/protobuf/ProtobufIsDecodeProgrammer.ts +109 -109
  131. package/src/programmers/protobuf/ProtobufIsEncodeProgrammer.ts +98 -98
  132. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +92 -90
  133. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +119 -114
  134. package/src/transform.ts +35 -35
  135. package/src/transformers/CallExpressionTransformer.ts +540 -540
  136. package/src/transformers/FileTransformer.ts +120 -120
  137. package/src/transformers/IProgrammerProps.ts +11 -11
  138. package/src/transformers/ITransformOptions.ts +62 -62
  139. package/src/transformers/ITransformProps.ts +9 -9
  140. package/src/transformers/ITypiaContext.ts +18 -18
  141. package/src/transformers/ImportTransformer.ts +66 -66
  142. package/src/transformers/NodeTransformer.ts +17 -17
  143. package/src/transformers/TransformerError.ts +59 -59
  144. package/src/transformers/features/AssertTransformer.ts +24 -24
  145. package/src/transformers/features/CreateAssertTransformer.ts +24 -24
  146. package/src/transformers/features/CreateIsTransformer.ts +18 -18
  147. package/src/transformers/features/CreateRandomTransformer.ts +43 -43
  148. package/src/transformers/features/CreateValidateTransformer.ts +18 -18
  149. package/src/transformers/features/IsTransformer.ts +18 -18
  150. package/src/transformers/features/RandomTransformer.ts +41 -41
  151. package/src/transformers/features/ValidateTransformer.ts +18 -18
  152. package/src/transformers/features/functional/FunctionalGenericTransformer.ts +57 -57
  153. package/src/transformers/features/http/CreateHttpAssertFormDataTransformer.ts +13 -13
  154. package/src/transformers/features/http/CreateHttpAssertHeadersTransformer.ts +13 -13
  155. package/src/transformers/features/http/CreateHttpAssertQueryTransformer.ts +13 -13
  156. package/src/transformers/features/http/CreateHttpFormDataTransformer.ts +13 -13
  157. package/src/transformers/features/http/CreateHttpHeadersTransformer.ts +13 -13
  158. package/src/transformers/features/http/CreateHttpIsFormDataTransformer.ts +13 -13
  159. package/src/transformers/features/http/CreateHttpIsHeadersTransformer.ts +13 -13
  160. package/src/transformers/features/http/CreateHttpIsQueryTransformer.ts +13 -13
  161. package/src/transformers/features/http/CreateHttpParameterTransformer.ts +13 -13
  162. package/src/transformers/features/http/CreateHttpQueryTransformer.ts +13 -13
  163. package/src/transformers/features/http/CreateHttpValidateFormDataTransformer.ts +13 -13
  164. package/src/transformers/features/http/CreateHttpValidateHeadersTransformer.ts +13 -13
  165. package/src/transformers/features/http/CreateHttpValidateQueryTransformer.ts +13 -13
  166. package/src/transformers/features/http/HttpAssertFormDataTransformer.ts +13 -13
  167. package/src/transformers/features/http/HttpAssertHeadersTransformer.ts +13 -13
  168. package/src/transformers/features/http/HttpAssertQueryTransformer.ts +13 -13
  169. package/src/transformers/features/http/HttpFormDataTransformer.ts +13 -13
  170. package/src/transformers/features/http/HttpHeadersTransformer.ts +13 -13
  171. package/src/transformers/features/http/HttpIsFormDataTransformer.ts +13 -13
  172. package/src/transformers/features/http/HttpIsHeadersTransformer.ts +13 -13
  173. package/src/transformers/features/http/HttpIsQueryTransformer.ts +13 -13
  174. package/src/transformers/features/http/HttpParameterTransformer.ts +13 -13
  175. package/src/transformers/features/http/HttpQueryTransformer.ts +13 -13
  176. package/src/transformers/features/http/HttpValidateFormDataTransformer.ts +13 -13
  177. package/src/transformers/features/http/HttpValidateHeadersTransformer.ts +13 -13
  178. package/src/transformers/features/http/HttpValidateQueryTransformer.ts +13 -13
  179. package/src/transformers/features/json/JsonApplicationTransformer.ts +130 -130
  180. package/src/transformers/features/json/JsonAssertParseTransformer.ts +13 -13
  181. package/src/transformers/features/json/JsonAssertStringifyTransformer.ts +13 -13
  182. package/src/transformers/features/json/JsonCreateAssertParseTransformer.ts +13 -13
  183. package/src/transformers/features/json/JsonCreateAssertStringifyTransformer.ts +13 -13
  184. package/src/transformers/features/json/JsonCreateIsParseTransformer.ts +13 -13
  185. package/src/transformers/features/json/JsonCreateIsStringifyTransformer.ts +13 -13
  186. package/src/transformers/features/json/JsonCreateStringifyTransformer.ts +13 -13
  187. package/src/transformers/features/json/JsonCreateValidateParseTransformer.ts +13 -13
  188. package/src/transformers/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -13
  189. package/src/transformers/features/json/JsonIsParseTransformer.ts +13 -13
  190. package/src/transformers/features/json/JsonIsStringifyTransformer.ts +13 -13
  191. package/src/transformers/features/json/JsonStringifyTransformer.ts +13 -13
  192. package/src/transformers/features/json/JsonValidateParseTransformer.ts +13 -13
  193. package/src/transformers/features/json/JsonValidateStringifyTransformer.ts +13 -13
  194. package/src/transformers/features/llm/LlmApplicationTransformer.ts +86 -86
  195. package/src/transformers/features/llm/LlmSchemaTransformer.ts +59 -59
  196. package/src/transformers/features/misc/MiscAssertCloneTransformer.ts +13 -13
  197. package/src/transformers/features/misc/MiscAssertPruneTransformer.ts +13 -13
  198. package/src/transformers/features/misc/MiscCloneTransformer.ts +13 -13
  199. package/src/transformers/features/misc/MiscCreateAssertCloneTransformer.ts +13 -13
  200. package/src/transformers/features/misc/MiscCreateAssertPruneTransformer.ts +13 -13
  201. package/src/transformers/features/misc/MiscCreateCloneTransformer.ts +13 -13
  202. package/src/transformers/features/misc/MiscCreateIsCloneTransformer.ts +13 -13
  203. package/src/transformers/features/misc/MiscCreateIsPruneTransformer.ts +13 -13
  204. package/src/transformers/features/misc/MiscCreatePruneTransformer.ts +13 -13
  205. package/src/transformers/features/misc/MiscCreateValidateCloneTransformer.ts +13 -13
  206. package/src/transformers/features/misc/MiscCreateValidatePruneTransformer.ts +13 -13
  207. package/src/transformers/features/misc/MiscIsCloneTransformer.ts +13 -13
  208. package/src/transformers/features/misc/MiscIsPruneTransformer.ts +13 -13
  209. package/src/transformers/features/misc/MiscLiteralsTransformer.ts +35 -35
  210. package/src/transformers/features/misc/MiscPruneTransformer.ts +13 -13
  211. package/src/transformers/features/misc/MiscValidateCloneTransformer.ts +13 -13
  212. package/src/transformers/features/misc/MiscValidatePruneTransformer.ts +13 -13
  213. package/src/transformers/features/notations/NotationAssertGeneralTransformer.ts +20 -20
  214. package/src/transformers/features/notations/NotationCreateAssertGeneralTransformer.ts +20 -20
  215. package/src/transformers/features/notations/NotationCreateGeneralTransformer.ts +20 -20
  216. package/src/transformers/features/notations/NotationCreateIsGeneralTransformer.ts +20 -20
  217. package/src/transformers/features/notations/NotationCreateValidateGeneralTransformer.ts +20 -20
  218. package/src/transformers/features/notations/NotationGeneralTransformer.ts +18 -18
  219. package/src/transformers/features/notations/NotationIsGeneralTransformer.ts +20 -20
  220. package/src/transformers/features/notations/NotationValidateGeneralTransformer.ts +20 -20
  221. package/src/transformers/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -13
  222. package/src/transformers/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -13
  223. package/src/transformers/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -13
  224. package/src/transformers/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -13
  225. package/src/transformers/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -13
  226. package/src/transformers/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -13
  227. package/src/transformers/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -13
  228. package/src/transformers/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -13
  229. package/src/transformers/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -13
  230. package/src/transformers/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -13
  231. package/src/transformers/features/protobuf/ProtobufDecodeTransformer.ts +13 -13
  232. package/src/transformers/features/protobuf/ProtobufEncodeTransformer.ts +13 -13
  233. package/src/transformers/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -13
  234. package/src/transformers/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -13
  235. package/src/transformers/features/protobuf/ProtobufMessageTransformer.ts +35 -35
  236. package/src/transformers/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -13
  237. package/src/transformers/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -13
  238. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +69 -69
  239. package/src/transformers/features/reflect/ReflectNameTransformer.ts +82 -82
  240. package/src/transformers/internal/GenericTransformer.ts +101 -101
@@ -1,6 +1,6 @@
1
1
  import ts from "typescript";
2
2
  export declare namespace ExpressionFactory {
3
- const number: (value: number) => ts.NumericLiteral | ts.PrefixUnaryExpression;
3
+ const number: (value: number) => ts.PrefixUnaryExpression | ts.NumericLiteral;
4
4
  const bigint: (value: number | bigint) => ts.CallExpression;
5
5
  const isRequired: (input: ts.Expression) => ts.Expression;
6
6
  const isArray: (input: ts.Expression) => ts.Expression;
@@ -2,7 +2,7 @@ import ts from "typescript";
2
2
  export declare namespace ValueFactory {
3
3
  const NULL: () => ts.NullLiteral;
4
4
  const UNDEFINED: () => ts.Identifier;
5
- const BOOLEAN: (value: boolean) => ts.FalseLiteral | ts.TrueLiteral;
5
+ const BOOLEAN: (value: boolean) => ts.TrueLiteral | ts.FalseLiteral;
6
6
  const INPUT: (str?: string) => ts.Identifier;
7
7
  const TYPEOF: (input: ts.Expression) => ts.TypeOfExpression;
8
8
  }
@@ -22,7 +22,10 @@ export declare namespace AssertProgrammer {
22
22
  const write: (props: IProps) => ts.CallExpression;
23
23
  namespace Guardian {
24
24
  const identifier: () => ts.Identifier;
25
- const parameter: (init: ts.Expression | undefined) => ts.ParameterDeclaration;
26
- const type: () => ts.FunctionTypeNode;
25
+ const parameter: (props: {
26
+ context: ITypiaContext;
27
+ init: ts.Expression | undefined;
28
+ }) => ts.ParameterDeclaration;
29
+ const type: (context: ITypiaContext) => ts.FunctionTypeNode;
27
30
  }
28
31
  }
@@ -110,7 +110,10 @@ var AssertProgrammer;
110
110
  } }));
111
111
  var arrow = typescript_1.default.factory.createArrowFunction(undefined, undefined, [
112
112
  IdentifierFactory_1.IdentifierFactory.parameter("input", TypeFactory_1.TypeFactory.keyword("any")),
113
- Guardian.parameter(props.init),
113
+ Guardian.parameter({
114
+ context: props.context,
115
+ init: props.init,
116
+ }),
114
117
  ], props.config.guard
115
118
  ? typescript_1.default.factory.createTypePredicateNode(typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.AssertsKeyword), typescript_1.default.factory.createIdentifier("input"), typescript_1.default.factory.createTypeReferenceNode((_a = props.name) !== null && _a !== void 0 ? _a : TypeFactory_1.TypeFactory.getFullName({
116
119
  checker: props.context.checker,
@@ -292,12 +295,16 @@ var AssertProgrammer;
292
295
  var Guardian;
293
296
  (function (Guardian) {
294
297
  Guardian.identifier = function () { return typescript_1.default.factory.createIdentifier("errorFactory"); };
295
- Guardian.parameter = function (init) {
296
- return IdentifierFactory_1.IdentifierFactory.parameter("errorFactory", Guardian.type(), init !== null && init !== void 0 ? init : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken));
298
+ Guardian.parameter = function (props) {
299
+ var _a;
300
+ return IdentifierFactory_1.IdentifierFactory.parameter("errorFactory", Guardian.type(props.context), (_a = props.init) !== null && _a !== void 0 ? _a : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken));
297
301
  };
298
- Guardian.type = function () {
302
+ Guardian.type = function (context) {
299
303
  return typescript_1.default.factory.createFunctionTypeNode(undefined, [
300
- typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createIdentifier("p"), undefined, typescript_1.default.factory.createImportTypeNode(typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("typia")), undefined, typescript_1.default.factory.createQualifiedName(typescript_1.default.factory.createIdentifier("TypeGuardError"), typescript_1.default.factory.createIdentifier("IProps")), undefined, false), undefined),
304
+ typescript_1.default.factory.createParameterDeclaration(undefined, undefined, typescript_1.default.factory.createIdentifier("p"), undefined, context.importer.type({
305
+ file: "typia",
306
+ name: "TypeGuardError.IProps",
307
+ }), undefined),
301
308
  ], typescript_1.default.factory.createTypeReferenceNode(typescript_1.default.factory.createIdentifier("Error"), undefined));
302
309
  };
303
310
  })(Guardian = AssertProgrammer.Guardian || (AssertProgrammer.Guardian = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,31 @@
1
1
  import ts from "typescript";
2
2
  export declare class ImportProgrammer {
3
3
  private readonly assets_;
4
- constructor();
5
- namespace(props: {
4
+ default(props: ImportProgrammer.IDefault): ts.Identifier;
5
+ instance(props: ImportProgrammer.IInstance): ts.Identifier;
6
+ namespace(props: ImportProgrammer.INamespace): ts.Identifier;
7
+ type(props: {
6
8
  file: string;
7
- name: string;
8
- }): ts.Identifier;
9
+ name: string | ts.EntityName;
10
+ arguments?: ts.TypeNode[];
11
+ }): ts.ImportTypeNode;
9
12
  toStatements(): ts.ImportDeclaration[];
10
13
  }
14
+ export declare namespace ImportProgrammer {
15
+ interface IDefault {
16
+ file: string;
17
+ name: string;
18
+ type: boolean;
19
+ }
20
+ interface IInstance {
21
+ file: string;
22
+ name: string;
23
+ alias: string | null;
24
+ type: boolean;
25
+ }
26
+ interface INamespace {
27
+ file: string;
28
+ name: string;
29
+ type: boolean;
30
+ }
31
+ }
@@ -46,38 +46,37 @@ var ImportProgrammer = /** @class */ (function () {
46
46
  function ImportProgrammer() {
47
47
  this.assets_ = new Map();
48
48
  }
49
+ /* -----------------------------------------------------------
50
+ ENROLLMENTS
51
+ ----------------------------------------------------------- */
52
+ ImportProgrammer.prototype.default = function (props) {
53
+ var _a;
54
+ var _b;
55
+ var asset = this.take(props.file);
56
+ (_a = asset.default) !== null && _a !== void 0 ? _a : (asset.default = props);
57
+ (_b = asset.default).type || (_b.type = props.type);
58
+ return typescript_1.default.factory.createIdentifier(asset.default.name);
59
+ };
60
+ ImportProgrammer.prototype.instance = function (props) {
61
+ var _a;
62
+ var alias = (_a = props.alias) !== null && _a !== void 0 ? _a : props.name;
63
+ var asset = this.take(props.file);
64
+ var instance = MapUtil_1.MapUtil.take(asset.instances, alias, function () { return props; });
65
+ instance.type || (instance.type = props.type);
66
+ return typescript_1.default.factory.createIdentifier(alias);
67
+ };
49
68
  ImportProgrammer.prototype.namespace = function (props) {
50
69
  var _a;
70
+ var _b;
51
71
  var asset = this.take(props.file);
52
- (_a = asset.namespace) !== null && _a !== void 0 ? _a : (asset.namespace = props.name);
53
- return typescript_1.default.factory.createIdentifier(asset.namespace);
72
+ (_a = asset.namespace) !== null && _a !== void 0 ? _a : (asset.namespace = props);
73
+ (_b = asset.namespace).type || (_b.type = props.type);
74
+ return typescript_1.default.factory.createIdentifier(asset.namespace.name);
54
75
  };
55
- ImportProgrammer.prototype.toStatements = function () {
56
- var e_1, _a;
57
- var statements = [];
58
- try {
59
- for (var _b = __values(this.assets_.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
60
- var asset = _c.value;
61
- if (asset.namespace !== null)
62
- statements.push(typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier(asset.namespace))), typescript_1.default.factory.createStringLiteral(asset.file)));
63
- if (asset.default !== null || asset.instances.size > 0)
64
- statements.push(typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, asset.default !== null
65
- ? typescript_1.default.factory.createIdentifier(asset.default)
66
- : undefined, asset.instances.size > 0
67
- ? typescript_1.default.factory.createNamedImports(__spreadArray([], __read(asset.instances), false).map(function (name) {
68
- return typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(name));
69
- }))
70
- : undefined), typescript_1.default.factory.createStringLiteral(asset.file), undefined));
71
- }
72
- }
73
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
74
- finally {
75
- try {
76
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
77
- }
78
- finally { if (e_1) throw e_1.error; }
79
- }
80
- return statements;
76
+ ImportProgrammer.prototype.type = function (props) {
77
+ return typescript_1.default.factory.createImportTypeNode(typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral(props.file)), undefined, typeof props.name === "string"
78
+ ? typescript_1.default.factory.createIdentifier(props.name)
79
+ : props.name, props.arguments);
81
80
  };
82
81
  /**
83
82
  * @internal
@@ -85,9 +84,15 @@ var ImportProgrammer = /** @class */ (function () {
85
84
  ImportProgrammer.prototype.internal = function (name) {
86
85
  if (name.startsWith("$") === false)
87
86
  name = "$".concat(name);
87
+ this.namespace({
88
+ file: "typia/lib/internal/".concat(name, ".js"),
89
+ name: alias(name),
90
+ type: false,
91
+ });
88
92
  return typescript_1.default.factory.createPropertyAccessExpression(this.namespace({
89
93
  file: "typia/lib/internal/".concat(name, ".js"),
90
94
  name: alias(name),
95
+ type: false,
91
96
  }), name);
92
97
  };
93
98
  /**
@@ -97,9 +102,9 @@ var ImportProgrammer = /** @class */ (function () {
97
102
  if (name.startsWith("$") === false)
98
103
  name = "$".concat(name);
99
104
  var asset = this.take("typia/lib/internal/".concat(name, ".js"));
100
- if (asset === undefined)
105
+ if (!(asset === null || asset === void 0 ? void 0 : asset.namespace))
101
106
  throw new Error("Internal asset not found: ".concat(name));
102
- return "".concat(asset.namespace, ".").concat(name);
107
+ return "".concat(asset.namespace.name, ".").concat(name);
103
108
  };
104
109
  /**
105
110
  * @internal
@@ -109,9 +114,40 @@ var ImportProgrammer = /** @class */ (function () {
109
114
  file: file,
110
115
  default: null,
111
116
  namespace: null,
112
- instances: new Set(),
117
+ instances: new Map(),
113
118
  }); });
114
119
  };
120
+ /* -----------------------------------------------------------
121
+ PROGRAM STATEMENTS
122
+ ----------------------------------------------------------- */
123
+ ImportProgrammer.prototype.toStatements = function () {
124
+ var e_1, _a;
125
+ var statements = [];
126
+ try {
127
+ for (var _b = __values(this.assets_.values()), _c = _b.next(); !_c.done; _c = _b.next()) {
128
+ var asset = _c.value;
129
+ if (asset.namespace !== null)
130
+ statements.push(typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier(asset.namespace.name))), typescript_1.default.factory.createStringLiteral(asset.file)));
131
+ if (asset.default !== null)
132
+ statements.push(typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(asset.default.type, typescript_1.default.factory.createIdentifier(asset.default.name), undefined), typescript_1.default.factory.createStringLiteral(asset.file)));
133
+ if (asset.instances.size > 0)
134
+ statements.push(typescript_1.default.factory.createImportDeclaration(undefined, typescript_1.default.factory.createImportClause(false, undefined, asset.instances.size > 0
135
+ ? typescript_1.default.factory.createNamedImports(__spreadArray([], __read(asset.instances.values()), false).map(function (ins) {
136
+ var _a;
137
+ return typescript_1.default.factory.createImportSpecifier(ins.type, undefined, typescript_1.default.factory.createIdentifier((_a = ins.alias) !== null && _a !== void 0 ? _a : ins.name));
138
+ }))
139
+ : undefined), typescript_1.default.factory.createStringLiteral(asset.file), undefined));
140
+ }
141
+ }
142
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
143
+ finally {
144
+ try {
145
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
146
+ }
147
+ finally { if (e_1) throw e_1.error; }
148
+ }
149
+ return statements;
150
+ };
115
151
  return ImportProgrammer;
116
152
  }());
117
153
  exports.ImportProgrammer = ImportProgrammer;
@@ -1 +1 @@
1
- {"version":3,"file":"ImportProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ImportProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImportProgrammer.js","sourceRoot":"","sources":["../../src/programmers/ImportProgrammer.ts"],"names":[],"mappings":"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"}
@@ -54,7 +54,9 @@ exports.RandomProgrammer = void 0;
54
54
  var typescript_1 = __importDefault(require("typescript"));
55
55
  var ExpressionFactory_1 = require("../factories/ExpressionFactory");
56
56
  var IdentifierFactory_1 = require("../factories/IdentifierFactory");
57
+ var LiteralFactory_1 = require("../factories/LiteralFactory");
57
58
  var MetadataCollection_1 = require("../factories/MetadataCollection");
59
+ var MetadataCommentTagFactory_1 = require("../factories/MetadataCommentTagFactory");
58
60
  var MetadataFactory_1 = require("../factories/MetadataFactory");
59
61
  var StatementFactory_1 = require("../factories/StatementFactory");
60
62
  var TemplateFactory_1 = require("../factories/TemplateFactory");
@@ -70,14 +72,12 @@ var StringUtil_1 = require("../utils/StringUtil");
70
72
  var FeatureProgrammer_1 = require("./FeatureProgrammer");
71
73
  var FunctionProgrammer_1 = require("./helpers/FunctionProgrammer");
72
74
  var RandomJoiner_1 = require("./helpers/RandomJoiner");
73
- var LiteralFactory_1 = require("../factories/LiteralFactory");
74
75
  var application_array_1 = require("./internal/application_array");
75
- var application_v31_schema_1 = require("./internal/application_v31_schema");
76
- var MetadataCommentTagFactory_1 = require("../factories/MetadataCommentTagFactory");
77
- var application_boolean_1 = require("./internal/application_boolean");
78
- var application_string_1 = require("./internal/application_string");
79
76
  var application_bigint_1 = require("./internal/application_bigint");
77
+ var application_boolean_1 = require("./internal/application_boolean");
80
78
  var application_number_1 = require("./internal/application_number");
79
+ var application_string_1 = require("./internal/application_string");
80
+ var application_v31_schema_1 = require("./internal/application_v31_schema");
81
81
  var RandomProgrammer;
82
82
  (function (RandomProgrammer) {
83
83
  RandomProgrammer.decompose = function (props) {
@@ -122,13 +122,22 @@ var RandomProgrammer;
122
122
  collection: collection,
123
123
  }).map(function (v, i) { return [Prefix.tuple(i), v]; })), false));
124
124
  var arrow = typescript_1.default.factory.createArrowFunction(undefined, undefined, [
125
- IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial<typia.IRandomGenerator>"), (_a = props.init) !== null && _a !== void 0 ? _a : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)),
126
- ], typescript_1.default.factory.createImportTypeNode(typescript_1.default.factory.createLiteralTypeNode(typescript_1.default.factory.createStringLiteral("typia")), undefined, typescript_1.default.factory.createIdentifier("Resolved"), [
127
- typescript_1.default.factory.createTypeReferenceNode((_b = props.name) !== null && _b !== void 0 ? _b : TypeFactory_1.TypeFactory.getFullName({
128
- checker: props.context.checker,
129
- type: props.type,
130
- })),
131
- ], false), undefined, typescript_1.default.factory.createBlock([
125
+ IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial", [
126
+ props.context.importer.type({
127
+ file: "typia",
128
+ name: "IRandomGenerator",
129
+ }),
130
+ ]), (_a = props.init) !== null && _a !== void 0 ? _a : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)),
131
+ ], props.context.importer.type({
132
+ file: "typia",
133
+ name: "Resolved",
134
+ arguments: [
135
+ typescript_1.default.factory.createTypeReferenceNode((_b = props.name) !== null && _b !== void 0 ? _b : TypeFactory_1.TypeFactory.getFullName({
136
+ checker: props.context.checker,
137
+ type: props.type,
138
+ })),
139
+ ],
140
+ }), undefined, typescript_1.default.factory.createBlock([
132
141
  typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createIdentifier("_generator"), typescript_1.default.SyntaxKind.EqualsToken, typescript_1.default.factory.createIdentifier("generator"))),
133
142
  typescript_1.default.factory.createReturnStatement(decode({
134
143
  context: props.context,
@@ -209,7 +218,7 @@ var RandomProgrammer;
209
218
  internal: "randomArray",
210
219
  }),
211
220
  array: array,
212
- schema: undefined
221
+ schema: undefined,
213
222
  })),
214
223
  });
215
224
  });
@@ -263,7 +272,9 @@ var RandomProgrammer;
263
272
  for (var _o = (e_2 = void 0, __values(constant.values)), _p = _o.next(); !_p.done; _p = _o.next()) {
264
273
  var value = _p.value.value;
265
274
  expressions.push(constant.type === "boolean"
266
- ? value === true ? typescript_1.default.factory.createTrue() : typescript_1.default.factory.createFalse()
275
+ ? value === true
276
+ ? typescript_1.default.factory.createTrue()
277
+ : typescript_1.default.factory.createFalse()
267
278
  : constant.type === "bigint"
268
279
  ? ExpressionFactory_1.ExpressionFactory.bigint(value)
269
280
  : constant.type === "number"
@@ -464,9 +475,9 @@ var RandomProgrammer;
464
475
  return typescript_1.default.factory.createCallExpression(ExpressionFactory_1.ExpressionFactory.coalesce(typescript_1.default.factory.createPropertyAccessChain(typescript_1.default.factory.createIdentifier("_generator"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createIdentifier(method)), props.context.importer.internal(internal)), undefined, [
465
476
  method === "pattern"
466
477
  ? typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("RegExp"), undefined, [
467
- typescript_1.default.factory.createStringLiteral(schema.pattern)
478
+ typescript_1.default.factory.createStringLiteral(schema.pattern),
468
479
  ])
469
- : LiteralFactory_1.LiteralFactory.write(schema)
480
+ : LiteralFactory_1.LiteralFactory.write(schema),
470
481
  ]);
471
482
  });
472
483
  };
@@ -478,12 +489,14 @@ var RandomProgrammer;
478
489
  var decode_array = function (props) {
479
490
  var components = {};
480
491
  var schemaList = (0, application_array_1.application_array)({
481
- generator: function (value) { return (0, application_v31_schema_1.application_v31_schema)({
482
- blockNever: true,
483
- components: components,
484
- attribute: {},
485
- metadata: value,
486
- }); },
492
+ generator: function (value) {
493
+ return (0, application_v31_schema_1.application_v31_schema)({
494
+ blockNever: true,
495
+ components: components,
496
+ attribute: {},
497
+ metadata: value,
498
+ });
499
+ },
487
500
  components: components,
488
501
  array: props.array,
489
502
  });
@@ -659,8 +672,7 @@ var RandomProgrammer;
659
672
  return ["float", -1.175494351e38, 3.4028235e38];
660
673
  return ["double", Number.MIN_VALUE, Number.MAX_VALUE];
661
674
  })(), 3), type = _a[0], minimum = _a[1], maximum = _a[2];
662
- var atomic = props.name === "BigInt64Array" ||
663
- props.name === "BigUint64Array"
675
+ var atomic = props.name === "BigInt64Array" || props.name === "BigUint64Array"
664
676
  ? "bigint"
665
677
  : "number";
666
678
  var value = Metadata_1.Metadata.create(__assign(__assign({}, Metadata_1.Metadata.initialize()), { atomics: [
@@ -679,9 +691,9 @@ var RandomProgrammer;
679
691
  kind: "maximum",
680
692
  type: "number",
681
693
  value: maximum.toString(),
682
- })), false)
694
+ })), false),
683
695
  ],
684
- })
696
+ }),
685
697
  ] }));
686
698
  return typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier(props.name), [], decode_array({
687
699
  context: props.context,
@@ -769,7 +781,8 @@ var RandomProgrammer;
769
781
  value: typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Uint8Array"), [], [typescript_1.default.factory.createIdentifier("buffer")]),
770
782
  }),
771
783
  typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(typescript_1.default.factory.createIdentifier("bytes"), "set"), undefined, [
772
- typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Array"), undefined, [typescript_1.default.factory.createIdentifier("length")]), typescript_1.default.factory.createIdentifier("fill")), undefined, [typescript_1.default.factory.createNumericLiteral("0")]), typescript_1.default.factory.createIdentifier("map")), undefined, [typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, decode_atomic({
784
+ typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createPropertyAccessExpression(typescript_1.default.factory.createNewExpression(typescript_1.default.factory.createIdentifier("Array"), undefined, [typescript_1.default.factory.createIdentifier("length")]), typescript_1.default.factory.createIdentifier("fill")), undefined, [typescript_1.default.factory.createNumericLiteral("0")]), typescript_1.default.factory.createIdentifier("map")), undefined, [
785
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, decode_atomic({
773
786
  context: props.context,
774
787
  atomic: MetadataAtomic_1.MetadataAtomic.create({
775
788
  type: "number",
@@ -786,10 +799,11 @@ var RandomProgrammer;
786
799
  kind: "maximum",
787
800
  type: "number",
788
801
  value: "255",
789
- })), false)
802
+ })), false),
790
803
  ],
791
804
  }),
792
- })[0])]),
805
+ })[0]),
806
+ ]),
793
807
  ExpressionFactory_1.ExpressionFactory.number(0),
794
808
  ])),
795
809
  typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("buffer")),
@@ -811,7 +825,7 @@ var RandomProgrammer;
811
825
  context: context,
812
826
  method: "regex",
813
827
  internal: "randomFormatRegex",
814
- }), undefined, undefined)
828
+ }), undefined, undefined),
815
829
  ]);
816
830
  };
817
831
  var writeRangedString = function (props) {
@@ -819,7 +833,8 @@ var RandomProgrammer;
819
833
  context: props.context,
820
834
  atomic: MetadataAtomic_1.MetadataAtomic.create({
821
835
  type: "string",
822
- tags: [__spreadArray(__spreadArray([], __read(MetadataCommentTagFactory_1.MetadataCommentTagFactory.get({
836
+ tags: [
837
+ __spreadArray(__spreadArray([], __read(MetadataCommentTagFactory_1.MetadataCommentTagFactory.get({
823
838
  kind: "minLength",
824
839
  type: "string",
825
840
  value: props.minLength.toString(),
@@ -827,7 +842,8 @@ var RandomProgrammer;
827
842
  kind: "maxLength",
828
843
  type: "string",
829
844
  value: props.maxLength.toString(),
830
- })), false)],
845
+ })), false),
846
+ ],
831
847
  }),
832
848
  })[0];
833
849
  };