typia 7.0.0-dev.20241005 → 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 (586) hide show
  1. package/lib/IRandomGenerator.d.ts +17 -21
  2. package/lib/factories/ExpressionFactory.d.ts +1 -1
  3. package/lib/factories/ExpressionFactory.js +2 -2
  4. package/lib/factories/ExpressionFactory.js.map +1 -1
  5. package/lib/factories/LiteralFactory.d.ts +1 -1
  6. package/lib/factories/LiteralFactory.js +20 -17
  7. package/lib/factories/LiteralFactory.js.map +1 -1
  8. package/lib/factories/MetadataCommentTagFactory.js +28 -6
  9. package/lib/factories/MetadataCommentTagFactory.js.map +1 -1
  10. package/lib/factories/ValueFactory.d.ts +1 -1
  11. package/lib/index.mjs +184 -1437
  12. package/lib/index.mjs.map +1 -1
  13. package/lib/internal/$randomArray.d.ts +1 -1
  14. package/lib/internal/$randomArray.js +1 -0
  15. package/lib/internal/$randomArray.js.map +1 -1
  16. package/lib/internal/$randomBigint.d.ts +1 -1
  17. package/lib/internal/$randomBigint.js +1 -6
  18. package/lib/internal/$randomBigint.js.map +1 -1
  19. package/lib/internal/$randomFormatByte.d.ts +1 -0
  20. package/lib/internal/$randomFormatByte.js +7 -0
  21. package/lib/internal/$randomFormatByte.js.map +1 -0
  22. package/lib/internal/$randomFormatDate.js +1 -0
  23. package/lib/internal/$randomFormatDate.js.map +1 -1
  24. package/lib/internal/$randomFormatDatetime.js +1 -0
  25. package/lib/internal/$randomFormatDatetime.js.map +1 -1
  26. package/lib/internal/$randomFormatDuration.js +1 -0
  27. package/lib/internal/$randomFormatDuration.js.map +1 -1
  28. package/lib/internal/$randomFormatIpv4.js +1 -0
  29. package/lib/internal/$randomFormatIpv4.js.map +1 -1
  30. package/lib/internal/$randomFormatIpv6.js +1 -0
  31. package/lib/internal/$randomFormatIpv6.js.map +1 -1
  32. package/lib/internal/$randomFormatRelativeJsonPointer.js +5 -5
  33. package/lib/internal/$randomFormatRelativeJsonPointer.js.map +1 -1
  34. package/lib/internal/$randomFormatTime.js +2 -1
  35. package/lib/internal/$randomFormatTime.js.map +1 -1
  36. package/lib/internal/$randomFormatUuid.d.ts +1 -0
  37. package/lib/internal/{$randomUuid.js → $randomFormatUuid.js} +4 -4
  38. package/lib/internal/$randomFormatUuid.js.map +1 -0
  39. package/lib/internal/$randomInteger.d.ts +1 -1
  40. package/lib/internal/$randomInteger.js +7 -4
  41. package/lib/internal/$randomInteger.js.map +1 -1
  42. package/lib/internal/$randomNumber.d.ts +1 -1
  43. package/lib/internal/$randomNumber.js +14 -11
  44. package/lib/internal/$randomNumber.js.map +1 -1
  45. package/lib/internal/$randomPick.js +1 -0
  46. package/lib/internal/$randomPick.js.map +1 -1
  47. package/lib/internal/$randomString.d.ts +1 -1
  48. package/lib/internal/$randomString.js +4 -1
  49. package/lib/internal/$randomString.js.map +1 -1
  50. package/lib/llm.d.ts +2 -4
  51. package/lib/llm.js +1 -28
  52. package/lib/llm.js.map +1 -1
  53. package/lib/module.d.ts +4 -8
  54. package/lib/module.js +3 -7
  55. package/lib/module.js.map +1 -1
  56. package/lib/programmers/AssertProgrammer.d.ts +5 -2
  57. package/lib/programmers/AssertProgrammer.js +12 -5
  58. package/lib/programmers/AssertProgrammer.js.map +1 -1
  59. package/lib/programmers/FeatureProgrammer.js +1 -1
  60. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  61. package/lib/programmers/ImportProgrammer.d.ts +25 -4
  62. package/lib/programmers/ImportProgrammer.js +67 -31
  63. package/lib/programmers/ImportProgrammer.js.map +1 -1
  64. package/lib/programmers/RandomProgrammer.js +303 -282
  65. package/lib/programmers/RandomProgrammer.js.map +1 -1
  66. package/lib/programmers/ValidateProgrammer.js +10 -4
  67. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  68. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js +1 -1
  69. package/lib/programmers/functional/FunctionalAssertFunctionProgrammer.js.map +1 -1
  70. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.d.ts +1 -0
  71. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js +14 -5
  72. package/lib/programmers/functional/FunctionalValidateFunctionProgrammer.js.map +1 -1
  73. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js +5 -1
  74. package/lib/programmers/functional/FunctionalValidateParametersProgrammer.js.map +1 -1
  75. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js +1 -0
  76. package/lib/programmers/functional/FunctionalValidateReturnProgrammer.js.map +1 -1
  77. package/lib/programmers/helpers/FunctionProgrammer.d.ts +1 -8
  78. package/lib/programmers/helpers/FunctionProgrammer.js +2 -24
  79. package/lib/programmers/helpers/FunctionProgrammer.js.map +1 -1
  80. package/lib/programmers/helpers/RandomJoiner.d.ts +6 -11
  81. package/lib/programmers/helpers/RandomJoiner.js +68 -41
  82. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  83. package/lib/programmers/helpers/disable_function_programmer_declare.js +1 -4
  84. package/lib/programmers/helpers/disable_function_programmer_declare.js.map +1 -1
  85. package/lib/programmers/http/HttpAssertFormDataProgrammer.js +4 -1
  86. package/lib/programmers/http/HttpAssertFormDataProgrammer.js.map +1 -1
  87. package/lib/programmers/http/HttpAssertHeadersProgrammer.js +4 -1
  88. package/lib/programmers/http/HttpAssertHeadersProgrammer.js.map +1 -1
  89. package/lib/programmers/http/HttpAssertQueryProgrammer.js +4 -1
  90. package/lib/programmers/http/HttpAssertQueryProgrammer.js.map +1 -1
  91. package/lib/programmers/http/HttpFormDataProgrammer.js +10 -6
  92. package/lib/programmers/http/HttpFormDataProgrammer.js.map +1 -1
  93. package/lib/programmers/http/HttpHeadersProgrammer.js +10 -6
  94. package/lib/programmers/http/HttpHeadersProgrammer.js.map +1 -1
  95. package/lib/programmers/http/HttpQueryProgrammer.js +10 -6
  96. package/lib/programmers/http/HttpQueryProgrammer.js.map +1 -1
  97. package/lib/programmers/http/HttpValidateFormDataProgrammer.js +5 -3
  98. package/lib/programmers/http/HttpValidateFormDataProgrammer.js.map +1 -1
  99. package/lib/programmers/http/HttpValidateHeadersProgrammer.js +5 -3
  100. package/lib/programmers/http/HttpValidateHeadersProgrammer.js.map +1 -1
  101. package/lib/programmers/http/HttpValidateQueryProgrammer.js +5 -3
  102. package/lib/programmers/http/HttpValidateQueryProgrammer.js.map +1 -1
  103. package/lib/programmers/json/JsonAssertParseProgrammer.js +14 -7
  104. package/lib/programmers/json/JsonAssertParseProgrammer.js.map +1 -1
  105. package/lib/programmers/json/JsonAssertStringifyProgrammer.js +4 -1
  106. package/lib/programmers/json/JsonAssertStringifyProgrammer.js.map +1 -1
  107. package/lib/programmers/json/JsonIsParseProgrammer.js +10 -6
  108. package/lib/programmers/json/JsonIsParseProgrammer.js.map +1 -1
  109. package/lib/programmers/json/JsonValidateParseProgrammer.js +16 -4
  110. package/lib/programmers/json/JsonValidateParseProgrammer.js.map +1 -1
  111. package/lib/programmers/json/JsonValidateStringifyProgrammer.js +7 -3
  112. package/lib/programmers/json/JsonValidateStringifyProgrammer.js.map +1 -1
  113. package/lib/programmers/misc/MiscAssertCloneProgrammer.js +4 -1
  114. package/lib/programmers/misc/MiscAssertCloneProgrammer.js.map +1 -1
  115. package/lib/programmers/misc/MiscAssertPruneProgrammer.js +4 -1
  116. package/lib/programmers/misc/MiscAssertPruneProgrammer.js.map +1 -1
  117. package/lib/programmers/misc/MiscCloneProgrammer.js +10 -6
  118. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  119. package/lib/programmers/misc/MiscValidateCloneProgrammer.js +5 -3
  120. package/lib/programmers/misc/MiscValidateCloneProgrammer.js.map +1 -1
  121. package/lib/programmers/misc/MiscValidatePruneProgrammer.js +10 -4
  122. package/lib/programmers/misc/MiscValidatePruneProgrammer.js.map +1 -1
  123. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js +4 -1
  124. package/lib/programmers/notations/NotationAssertGeneralProgrammer.js.map +1 -1
  125. package/lib/programmers/notations/NotationGeneralProgrammer.d.ts +2 -1
  126. package/lib/programmers/notations/NotationGeneralProgrammer.js +13 -5
  127. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  128. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js +5 -3
  129. package/lib/programmers/notations/NotationValidateGeneralProgrammer.js.map +1 -1
  130. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js +4 -1
  131. package/lib/programmers/protobuf/ProtobufAssertDecodeProgrammer.js.map +1 -1
  132. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js +4 -1
  133. package/lib/programmers/protobuf/ProtobufAssertEncodeProgrammer.js.map +1 -1
  134. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +10 -6
  135. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  136. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js +5 -3
  137. package/lib/programmers/protobuf/ProtobufValidateDecodeProgrammer.js.map +1 -1
  138. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js +7 -3
  139. package/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.js.map +1 -1
  140. package/lib/transformers/features/json/JsonApplicationTransformer.js +1 -1
  141. package/lib/transformers/features/json/JsonApplicationTransformer.js.map +1 -1
  142. package/lib/transformers/features/llm/LlmApplicationTransformer.js +2 -2
  143. package/lib/transformers/features/llm/LlmApplicationTransformer.js.map +1 -1
  144. package/lib/transformers/features/llm/LlmSchemaTransformer.js +1 -1
  145. package/lib/transformers/features/llm/LlmSchemaTransformer.js.map +1 -1
  146. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js +1 -1
  147. package/lib/transformers/features/reflect/ReflectMetadataTransformer.js.map +1 -1
  148. package/package.json +1 -1
  149. package/src/CamelCase.ts +75 -75
  150. package/src/IRandomGenerator.ts +11 -27
  151. package/src/PascalCase.ts +71 -71
  152. package/src/Primitive.ts +92 -92
  153. package/src/Resolved.ts +74 -74
  154. package/src/SnakeCase.ts +126 -126
  155. package/src/executable/TypiaGenerateWizard.ts +83 -83
  156. package/src/executable/TypiaPatchWizard.ts +42 -42
  157. package/src/executable/TypiaSetupWizard.ts +174 -174
  158. package/src/executable/setup/ArgumentParser.ts +42 -42
  159. package/src/executable/setup/CommandExecutor.ts +8 -8
  160. package/src/executable/setup/FileRetriever.ts +19 -19
  161. package/src/executable/setup/PackageManager.ts +87 -87
  162. package/src/executable/setup/PluginConfigurator.ts +69 -69
  163. package/src/executable/typia.ts +55 -55
  164. package/src/factories/CommentFactory.ts +79 -79
  165. package/src/factories/ExpressionFactory.ts +164 -164
  166. package/src/factories/IdentifierFactory.ts +89 -89
  167. package/src/factories/LiteralFactory.ts +18 -15
  168. package/src/factories/MetadataCollection.ts +278 -278
  169. package/src/factories/MetadataCommentTagFactory.ts +650 -622
  170. package/src/factories/MetadataFactory.ts +400 -400
  171. package/src/factories/MetadataTypeTagFactory.ts +385 -385
  172. package/src/factories/MetadataTypeTagSchemaFactory.ts +82 -82
  173. package/src/factories/NumericRangeFactory.ts +72 -72
  174. package/src/factories/StatementFactory.ts +90 -90
  175. package/src/factories/TemplateFactory.ts +64 -64
  176. package/src/factories/TypeFactory.ts +140 -140
  177. package/src/factories/internal/metadata/IMetadataIteratorProps.ts +16 -16
  178. package/src/factories/internal/metadata/emplace_metadata_alias.ts +32 -32
  179. package/src/factories/internal/metadata/emplace_metadata_array_type.ts +39 -39
  180. package/src/factories/internal/metadata/emplace_metadata_object.ts +206 -206
  181. package/src/factories/internal/metadata/emplace_metadata_tuple.ts +56 -56
  182. package/src/factories/internal/metadata/explore_metadata.ts +30 -30
  183. package/src/factories/internal/metadata/iterate_metadata.ts +54 -54
  184. package/src/factories/internal/metadata/iterate_metadata_alias.ts +28 -28
  185. package/src/factories/internal/metadata/iterate_metadata_array.ts +63 -63
  186. package/src/factories/internal/metadata/iterate_metadata_atomic.ts +62 -62
  187. package/src/factories/internal/metadata/iterate_metadata_coalesce.ts +28 -28
  188. package/src/factories/internal/metadata/iterate_metadata_collection.ts +145 -145
  189. package/src/factories/internal/metadata/iterate_metadata_comment_tags.ts +32 -32
  190. package/src/factories/internal/metadata/iterate_metadata_constant.ts +76 -76
  191. package/src/factories/internal/metadata/iterate_metadata_escape.ts +49 -49
  192. package/src/factories/internal/metadata/iterate_metadata_function.ts +88 -88
  193. package/src/factories/internal/metadata/iterate_metadata_intersection.ts +216 -216
  194. package/src/factories/internal/metadata/iterate_metadata_map.ts +52 -52
  195. package/src/factories/internal/metadata/iterate_metadata_native.ts +236 -236
  196. package/src/factories/internal/metadata/iterate_metadata_object.ts +27 -27
  197. package/src/factories/internal/metadata/iterate_metadata_set.ts +39 -39
  198. package/src/factories/internal/metadata/iterate_metadata_sort.ts +83 -83
  199. package/src/factories/internal/metadata/iterate_metadata_template.ts +42 -42
  200. package/src/factories/internal/metadata/iterate_metadata_tuple.ts +26 -26
  201. package/src/factories/internal/metadata/iterate_metadata_union.ts +19 -19
  202. package/src/internal/$accessExpressionAsString.ts +46 -46
  203. package/src/internal/$assertGuard.ts +13 -13
  204. package/src/internal/$functionalTypeGuardErrorFactory.ts +4 -4
  205. package/src/internal/$httpFormDataReadArray.ts +4 -4
  206. package/src/internal/$httpFormDataReadBigint.ts +18 -18
  207. package/src/internal/$httpFormDataReadBlob.ts +10 -10
  208. package/src/internal/$httpFormDataReadBoolean.ts +16 -16
  209. package/src/internal/$httpFormDataReadFile.ts +10 -10
  210. package/src/internal/$httpFormDataReadNumber.ts +15 -15
  211. package/src/internal/$httpFormDataReadString.ts +10 -10
  212. package/src/internal/$httpHeaderReadBigint.ts +10 -10
  213. package/src/internal/$httpHeaderReadBoolean.ts +8 -8
  214. package/src/internal/$httpHeaderReadNumber.ts +7 -7
  215. package/src/internal/$httpParameterBigint.ts +10 -10
  216. package/src/internal/$httpParameterBoolean.ts +8 -8
  217. package/src/internal/$httpParameterNumber.ts +7 -7
  218. package/src/internal/$httpParameterString.ts +2 -2
  219. package/src/internal/$httpQueryParseURLSearchParams.ts +10 -10
  220. package/src/internal/$httpQueryReadArray.ts +4 -4
  221. package/src/internal/$httpQueryReadBigint.ts +12 -12
  222. package/src/internal/$httpQueryReadBoolean.ts +14 -14
  223. package/src/internal/$httpQueryReadNumber.ts +9 -9
  224. package/src/internal/$httpQueryReadString.ts +4 -4
  225. package/src/internal/$isBetween.ts +2 -2
  226. package/src/internal/$isBigintString.ts +8 -8
  227. package/src/internal/$jsonStringifyNumber.ts +12 -12
  228. package/src/internal/$jsonStringifyRest.ts +3 -3
  229. package/src/internal/$jsonStringifyString.ts +43 -43
  230. package/src/internal/$jsonStringifyTail.ts +2 -2
  231. package/src/internal/$llmApplicationFinalize.ts +18 -18
  232. package/src/internal/$miscCloneAny.ts +48 -48
  233. package/src/internal/$notationAny.ts +37 -37
  234. package/src/internal/$notationCamel.ts +13 -13
  235. package/src/internal/$notationPascal.ts +8 -8
  236. package/src/internal/$notationSnake.ts +43 -43
  237. package/src/internal/$randomArray.ts +21 -20
  238. package/src/internal/$randomBigint.ts +6 -15
  239. package/src/internal/$randomBoolean.ts +1 -1
  240. package/src/internal/{$randomByte.ts → $randomFormatByte.ts} +3 -3
  241. package/src/internal/$randomFormatDate.ts +18 -17
  242. package/src/internal/$randomFormatDatetime.ts +16 -15
  243. package/src/internal/$randomFormatDuration.ts +27 -26
  244. package/src/internal/$randomFormatEmail.ts +11 -11
  245. package/src/internal/$randomFormatHostname.ts +6 -6
  246. package/src/internal/$randomFormatIdnEmail.ts +3 -3
  247. package/src/internal/$randomFormatIdnHostname.ts +3 -3
  248. package/src/internal/$randomFormatIpv4.ts +11 -10
  249. package/src/internal/$randomFormatIpv6.ts +11 -10
  250. package/src/internal/$randomFormatIri.ts +3 -3
  251. package/src/internal/$randomFormatIriReference.ts +3 -3
  252. package/src/internal/$randomFormatJsonPointer.ts +7 -7
  253. package/src/internal/$randomFormatPassword.ts +8 -8
  254. package/src/internal/$randomFormatRegex.ts +4 -4
  255. package/src/internal/$randomFormatRelativeJsonPointer.ts +8 -8
  256. package/src/internal/$randomFormatTime.ts +14 -13
  257. package/src/internal/$randomFormatUri.ts +3 -3
  258. package/src/internal/$randomFormatUriReference.ts +3 -3
  259. package/src/internal/$randomFormatUriTemplate.ts +3 -3
  260. package/src/internal/$randomFormatUrl.ts +11 -11
  261. package/src/internal/{$randomUuid.ts → $randomFormatUuid.ts} +6 -6
  262. package/src/internal/$randomInteger.ts +47 -44
  263. package/src/internal/$randomNumber.ts +74 -71
  264. package/src/internal/$randomPattern.ts +10 -10
  265. package/src/internal/$randomPick.ts +9 -8
  266. package/src/internal/$randomString.ts +24 -24
  267. package/src/internal/$throwTypeGuardError.ts +5 -5
  268. package/src/internal/$validateReport.ts +13 -13
  269. package/src/internal/private/$__notationCapitalize.ts +2 -2
  270. package/src/internal/private/$__notationUnsnake.ts +24 -24
  271. package/src/json.ts +651 -651
  272. package/src/llm.ts +178 -186
  273. package/src/module.ts +933 -945
  274. package/src/programmers/AssertProgrammer.ts +15 -17
  275. package/src/programmers/FeatureProgrammer.ts +616 -616
  276. package/src/programmers/ImportProgrammer.ts +125 -50
  277. package/src/programmers/RandomProgrammer.ts +425 -394
  278. package/src/programmers/ValidateProgrammer.ts +13 -9
  279. package/src/programmers/functional/FunctionalAssertFunctionProgrammer.ts +153 -153
  280. package/src/programmers/functional/FunctionalAssertParametersProgrammer.ts +125 -125
  281. package/src/programmers/functional/FunctionalAssertReturnProgrammer.ts +115 -115
  282. package/src/programmers/functional/FunctionalIsFunctionProgrammer.ts +72 -72
  283. package/src/programmers/functional/FunctionalIsParametersProgrammer.ts +113 -113
  284. package/src/programmers/functional/FunctionalIsReturnProgrammer.ts +116 -116
  285. package/src/programmers/functional/FunctionalValidateFunctionProgrammer.ts +119 -123
  286. package/src/programmers/functional/FunctionalValidateParametersProgrammer.ts +274 -281
  287. package/src/programmers/functional/FunctionalValidateReturnProgrammer.ts +135 -134
  288. package/src/programmers/functional/internal/FunctionalGeneralProgrammer.ts +34 -34
  289. package/src/programmers/helpers/AtomicPredicator.ts +35 -35
  290. package/src/programmers/helpers/CloneJoiner.ts +143 -143
  291. package/src/programmers/helpers/FunctionProgrammer.ts +67 -101
  292. package/src/programmers/helpers/HttpMetadataUtil.ts +21 -21
  293. package/src/programmers/helpers/NotationJoiner.ts +144 -144
  294. package/src/programmers/helpers/OptionPredicator.ts +15 -15
  295. package/src/programmers/helpers/ProtobufUtil.ts +125 -125
  296. package/src/programmers/helpers/PruneJoiner.ts +148 -148
  297. package/src/programmers/helpers/RandomJoiner.ts +168 -162
  298. package/src/programmers/helpers/StringifyJoinder.ts +115 -115
  299. package/src/programmers/helpers/StringifyPredicator.ts +13 -13
  300. package/src/programmers/helpers/UnionExplorer.ts +372 -372
  301. package/src/programmers/helpers/UnionPredicator.ts +77 -77
  302. package/src/programmers/helpers/disable_function_programmer_declare.ts +1 -4
  303. package/src/programmers/http/HttpAssertFormDataProgrammer.ts +4 -1
  304. package/src/programmers/http/HttpAssertHeadersProgrammer.ts +4 -1
  305. package/src/programmers/http/HttpAssertQueryProgrammer.ts +4 -1
  306. package/src/programmers/http/HttpFormDataProgrammer.ts +5 -9
  307. package/src/programmers/http/HttpHeadersProgrammer.ts +5 -9
  308. package/src/programmers/http/HttpQueryProgrammer.ts +5 -9
  309. package/src/programmers/http/HttpValidateFormDataProgrammer.ts +5 -3
  310. package/src/programmers/http/HttpValidateHeadersProgrammer.ts +5 -3
  311. package/src/programmers/http/HttpValidateQueryProgrammer.ts +5 -3
  312. package/src/programmers/internal/application_array.ts +56 -56
  313. package/src/programmers/internal/application_bigint.ts +25 -25
  314. package/src/programmers/internal/application_boolean.ts +25 -25
  315. package/src/programmers/internal/application_description.ts +12 -12
  316. package/src/programmers/internal/application_escaped.ts +96 -96
  317. package/src/programmers/internal/application_number.ts +25 -25
  318. package/src/programmers/internal/application_plugin.ts +19 -19
  319. package/src/programmers/internal/application_string.ts +25 -25
  320. package/src/programmers/internal/application_templates.ts +64 -64
  321. package/src/programmers/internal/application_title.ts +20 -20
  322. package/src/programmers/internal/application_union_discriminator.ts +35 -35
  323. package/src/programmers/internal/application_v30_alias.ts +59 -59
  324. package/src/programmers/internal/application_v30_native.ts +29 -29
  325. package/src/programmers/internal/application_v30_object.ts +165 -165
  326. package/src/programmers/internal/application_v30_schema.ts +220 -220
  327. package/src/programmers/internal/application_v30_tuple.ts +33 -33
  328. package/src/programmers/internal/application_v31_alias.ts +47 -47
  329. package/src/programmers/internal/application_v31_constant.ts +29 -29
  330. package/src/programmers/internal/application_v31_native.ts +25 -25
  331. package/src/programmers/internal/application_v31_object.ts +147 -147
  332. package/src/programmers/internal/application_v31_schema.ts +215 -215
  333. package/src/programmers/internal/application_v31_tuple.ts +22 -22
  334. package/src/programmers/internal/check_array_length.ts +46 -46
  335. package/src/programmers/internal/check_bigint.ts +49 -49
  336. package/src/programmers/internal/check_dynamic_key.ts +201 -201
  337. package/src/programmers/internal/check_dynamic_properties.ts +208 -208
  338. package/src/programmers/internal/check_everything.ts +23 -23
  339. package/src/programmers/internal/check_native.ts +27 -27
  340. package/src/programmers/internal/check_number.ts +111 -111
  341. package/src/programmers/internal/check_object.ts +75 -75
  342. package/src/programmers/internal/check_string.ts +49 -49
  343. package/src/programmers/internal/check_template.ts +48 -48
  344. package/src/programmers/internal/check_union_array_like.ts +334 -334
  345. package/src/programmers/internal/decode_union_object.ts +116 -116
  346. package/src/programmers/internal/feature_object_entries.ts +61 -61
  347. package/src/programmers/internal/llm_schema_array.ts +22 -22
  348. package/src/programmers/internal/llm_schema_escaped.ts +84 -84
  349. package/src/programmers/internal/llm_schema_native.ts +17 -17
  350. package/src/programmers/internal/llm_schema_object.ts +132 -132
  351. package/src/programmers/internal/llm_schema_station.ts +190 -190
  352. package/src/programmers/internal/llm_schema_tuple.ts +31 -31
  353. package/src/programmers/internal/metadata_to_pattern.ts +42 -42
  354. package/src/programmers/internal/postfix_of_tuple.ts +5 -5
  355. package/src/programmers/internal/prune_object_properties.ts +63 -63
  356. package/src/programmers/internal/stringify_dynamic_properties.ts +162 -162
  357. package/src/programmers/internal/stringify_regular_properties.ts +81 -81
  358. package/src/programmers/internal/template_to_pattern.ts +23 -23
  359. package/src/programmers/internal/wrap_metadata_rest_tuple.ts +23 -23
  360. package/src/programmers/json/JsonAssertParseProgrammer.ts +9 -10
  361. package/src/programmers/json/JsonAssertStringifyProgrammer.ts +4 -1
  362. package/src/programmers/json/JsonIsParseProgrammer.ts +5 -9
  363. package/src/programmers/json/JsonValidateParseProgrammer.ts +19 -9
  364. package/src/programmers/json/JsonValidateStringifyProgrammer.ts +8 -3
  365. package/src/programmers/llm/LlmApplicationProgrammer.ts +235 -235
  366. package/src/programmers/llm/LlmSchemaProgrammer.ts +51 -51
  367. package/src/programmers/misc/MiscAssertCloneProgrammer.ts +4 -1
  368. package/src/programmers/misc/MiscAssertPruneProgrammer.ts +4 -1
  369. package/src/programmers/misc/MiscCloneProgrammer.ts +5 -9
  370. package/src/programmers/misc/MiscValidateCloneProgrammer.ts +5 -3
  371. package/src/programmers/misc/MiscValidatePruneProgrammer.ts +13 -9
  372. package/src/programmers/notations/NotationAssertGeneralProgrammer.ts +4 -1
  373. package/src/programmers/notations/NotationGeneralProgrammer.ts +27 -23
  374. package/src/programmers/notations/NotationValidateGeneralProgrammer.ts +5 -3
  375. package/src/programmers/protobuf/ProtobufAssertDecodeProgrammer.ts +4 -1
  376. package/src/programmers/protobuf/ProtobufAssertEncodeProgrammer.ts +4 -1
  377. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +5 -8
  378. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +201 -201
  379. package/src/programmers/protobuf/ProtobufValidateDecodeProgrammer.ts +5 -3
  380. package/src/programmers/protobuf/ProtobufValidateEncodeProgrammer.ts +8 -3
  381. package/src/protobuf.ts +868 -868
  382. package/src/schemas/json/IJsonApplication.ts +22 -22
  383. package/src/schemas/metadata/IMetadata.ts +36 -36
  384. package/src/schemas/metadata/IMetadataConstantValue.ts +11 -11
  385. package/src/schemas/metadata/IMetadataFunction.ts +8 -8
  386. package/src/schemas/metadata/IMetadataParameter.ts +9 -9
  387. package/src/schemas/metadata/IMetadataTemplate.ts +7 -7
  388. package/src/schemas/metadata/Metadata.ts +616 -616
  389. package/src/schemas/metadata/MetadataAtomic.ts +87 -87
  390. package/src/schemas/metadata/MetadataConstantValue.ts +62 -62
  391. package/src/schemas/metadata/MetadataFunction.ts +49 -49
  392. package/src/schemas/metadata/MetadataObject.ts +139 -139
  393. package/src/schemas/metadata/MetadataParameter.ts +50 -50
  394. package/src/tags/Constant.ts +15 -15
  395. package/src/tags/Default.ts +22 -22
  396. package/src/tags/Example.ts +17 -17
  397. package/src/tags/Examples.ts +16 -16
  398. package/src/tags/ExclusiveMaximum.ts +25 -25
  399. package/src/tags/ExclusiveMinimum.ts +25 -25
  400. package/src/tags/JsonSchemaPlugin.ts +8 -8
  401. package/src/tags/Maximum.ts +19 -19
  402. package/src/tags/Minimum.ts +19 -19
  403. package/src/tags/MultipleOf.ts +21 -21
  404. package/src/tags/Pattern.ts +31 -31
  405. package/src/tags/Type.ts +32 -32
  406. package/src/tags/index.ts +20 -20
  407. package/src/transformers/ITransformOptions.ts +62 -62
  408. package/src/transformers/ImportTransformer.ts +66 -66
  409. package/src/transformers/features/json/JsonApplicationTransformer.ts +1 -1
  410. package/src/transformers/features/llm/LlmApplicationTransformer.ts +2 -2
  411. package/src/transformers/features/llm/LlmSchemaTransformer.ts +1 -1
  412. package/src/transformers/features/reflect/ReflectMetadataTransformer.ts +1 -1
  413. package/src/typings/Equal.ts +18 -18
  414. package/src/typings/IsTuple.ts +9 -9
  415. package/src/typings/NativeClass.ts +23 -23
  416. package/src/typings/ValueOf.ts +20 -20
  417. package/src/utils/Escaper.ts +50 -50
  418. package/src/utils/MapUtil.ts +14 -14
  419. package/src/utils/NameEncoder.ts +32 -32
  420. package/src/utils/NamingConvention.ts +94 -94
  421. package/src/utils/StringUtil.ts +16 -16
  422. package/lib/functional/$FormDataReader/$FormDataReader.d.ts +0 -7
  423. package/lib/functional/$FormDataReader/$FormDataReader.js +0 -86
  424. package/lib/functional/$FormDataReader/$FormDataReader.js.map +0 -1
  425. package/lib/functional/$FormDataReader/index.d.ts +0 -1
  426. package/lib/functional/$FormDataReader/index.js +0 -28
  427. package/lib/functional/$FormDataReader/index.js.map +0 -1
  428. package/lib/functional/$HeadersReader/$HeadersReader.d.ts +0 -4
  429. package/lib/functional/$HeadersReader/$HeadersReader.js +0 -36
  430. package/lib/functional/$HeadersReader/$HeadersReader.js.map +0 -1
  431. package/lib/functional/$HeadersReader/index.d.ts +0 -1
  432. package/lib/functional/$HeadersReader/index.js +0 -28
  433. package/lib/functional/$HeadersReader/index.js.map +0 -1
  434. package/lib/functional/$ParameterReader/$ParameterReader.d.ts +0 -4
  435. package/lib/functional/$ParameterReader/$ParameterReader.js +0 -36
  436. package/lib/functional/$ParameterReader/$ParameterReader.js.map +0 -1
  437. package/lib/functional/$ParameterReader/index.d.ts +0 -1
  438. package/lib/functional/$ParameterReader/index.js +0 -28
  439. package/lib/functional/$ParameterReader/index.js.map +0 -1
  440. package/lib/functional/$ProtobufReader.d.ts +0 -35
  441. package/lib/functional/$ProtobufReader.js +0 -166
  442. package/lib/functional/$ProtobufReader.js.map +0 -1
  443. package/lib/functional/$ProtobufSizer.d.ts +0 -36
  444. package/lib/functional/$ProtobufSizer.js +0 -118
  445. package/lib/functional/$ProtobufSizer.js.map +0 -1
  446. package/lib/functional/$ProtobufWriter.d.ts +0 -45
  447. package/lib/functional/$ProtobufWriter.js +0 -104
  448. package/lib/functional/$ProtobufWriter.js.map +0 -1
  449. package/lib/functional/$QueryReader/$QueryReader.d.ts +0 -6
  450. package/lib/functional/$QueryReader/$QueryReader.js +0 -55
  451. package/lib/functional/$QueryReader/$QueryReader.js.map +0 -1
  452. package/lib/functional/$QueryReader/index.d.ts +0 -1
  453. package/lib/functional/$QueryReader/index.js +0 -28
  454. package/lib/functional/$QueryReader/index.js.map +0 -1
  455. package/lib/functional/$any.d.ts +0 -1
  456. package/lib/functional/$any.js +0 -7
  457. package/lib/functional/$any.js.map +0 -1
  458. package/lib/functional/$clone.d.ts +0 -2
  459. package/lib/functional/$clone.js +0 -100
  460. package/lib/functional/$clone.js.map +0 -1
  461. package/lib/functional/$convention.d.ts +0 -1
  462. package/lib/functional/$convention.js +0 -60
  463. package/lib/functional/$convention.js.map +0 -1
  464. package/lib/functional/$dictionary.d.ts +0 -2
  465. package/lib/functional/$dictionary.js +0 -18
  466. package/lib/functional/$dictionary.js.map +0 -1
  467. package/lib/functional/$guard.d.ts +0 -1
  468. package/lib/functional/$guard.js +0 -21
  469. package/lib/functional/$guard.js.map +0 -1
  470. package/lib/functional/$is_between.d.ts +0 -1
  471. package/lib/functional/$is_between.js +0 -8
  472. package/lib/functional/$is_between.js.map +0 -1
  473. package/lib/functional/$join.d.ts +0 -1
  474. package/lib/functional/$join.js +0 -50
  475. package/lib/functional/$join.js.map +0 -1
  476. package/lib/functional/$number.d.ts +0 -1
  477. package/lib/functional/$number.js +0 -16
  478. package/lib/functional/$number.js.map +0 -1
  479. package/lib/functional/$report.d.ts +0 -2
  480. package/lib/functional/$report.js +0 -18
  481. package/lib/functional/$report.js.map +0 -1
  482. package/lib/functional/$rest.d.ts +0 -1
  483. package/lib/functional/$rest.js +0 -8
  484. package/lib/functional/$rest.js.map +0 -1
  485. package/lib/functional/$stoll.d.ts +0 -1
  486. package/lib/functional/$stoll.js +0 -14
  487. package/lib/functional/$stoll.js.map +0 -1
  488. package/lib/functional/$string.d.ts +0 -1
  489. package/lib/functional/$string.js +0 -43
  490. package/lib/functional/$string.js.map +0 -1
  491. package/lib/functional/$strlen.d.ts +0 -1
  492. package/lib/functional/$strlen.js +0 -13
  493. package/lib/functional/$strlen.js.map +0 -1
  494. package/lib/functional/$tail.d.ts +0 -1
  495. package/lib/functional/$tail.js +0 -11
  496. package/lib/functional/$tail.js.map +0 -1
  497. package/lib/functional/$throws.d.ts +0 -2
  498. package/lib/functional/$throws.js +0 -22
  499. package/lib/functional/$throws.js.map +0 -1
  500. package/lib/functional/IProtobufWriter.d.ts +0 -15
  501. package/lib/functional/IProtobufWriter.js +0 -3
  502. package/lib/functional/IProtobufWriter.js.map +0 -1
  503. package/lib/functional/Namespace/functional.d.ts +0 -4
  504. package/lib/functional/Namespace/functional.js +0 -9
  505. package/lib/functional/Namespace/functional.js.map +0 -1
  506. package/lib/functional/Namespace/http.d.ts +0 -8
  507. package/lib/functional/Namespace/http.js +0 -16
  508. package/lib/functional/Namespace/http.js.map +0 -1
  509. package/lib/functional/Namespace/index.d.ts +0 -30
  510. package/lib/functional/Namespace/index.js +0 -85
  511. package/lib/functional/Namespace/index.js.map +0 -1
  512. package/lib/functional/Namespace/json.d.ts +0 -9
  513. package/lib/functional/Namespace/json.js +0 -23
  514. package/lib/functional/Namespace/json.js.map +0 -1
  515. package/lib/functional/Namespace/llm.d.ts +0 -4
  516. package/lib/functional/Namespace/llm.js +0 -44
  517. package/lib/functional/Namespace/llm.js.map +0 -1
  518. package/lib/functional/Namespace/misc.d.ts +0 -11
  519. package/lib/functional/Namespace/misc.js +0 -22
  520. package/lib/functional/Namespace/misc.js.map +0 -1
  521. package/lib/functional/Namespace/notations.d.ts +0 -18
  522. package/lib/functional/Namespace/notations.js +0 -26
  523. package/lib/functional/Namespace/notations.js.map +0 -1
  524. package/lib/functional/Namespace/protobuf.d.ts +0 -17
  525. package/lib/functional/Namespace/protobuf.js +0 -25
  526. package/lib/functional/Namespace/protobuf.js.map +0 -1
  527. package/lib/functional/is.d.ts +0 -1
  528. package/lib/functional/is.js +0 -14
  529. package/lib/functional/is.js.map +0 -1
  530. package/lib/internal/$randomByte.d.ts +0 -1
  531. package/lib/internal/$randomByte.js +0 -7
  532. package/lib/internal/$randomByte.js.map +0 -1
  533. package/lib/internal/$randomUuid.d.ts +0 -1
  534. package/lib/internal/$randomUuid.js.map +0 -1
  535. package/lib/programmers/helpers/RandomRanger.d.ts +0 -33
  536. package/lib/programmers/helpers/RandomRanger.js +0 -158
  537. package/lib/programmers/helpers/RandomRanger.js.map +0 -1
  538. package/lib/programmers/internal/random_custom.d.ts +0 -1
  539. package/lib/programmers/internal/random_custom.js +0 -23
  540. package/lib/programmers/internal/random_custom.js.map +0 -1
  541. package/lib/utils/RandomGenerator/RandomGenerator.d.ts +0 -31
  542. package/lib/utils/RandomGenerator/RandomGenerator.js +0 -176
  543. package/lib/utils/RandomGenerator/RandomGenerator.js.map +0 -1
  544. package/lib/utils/RandomGenerator/index.d.ts +0 -1
  545. package/lib/utils/RandomGenerator/index.js +0 -28
  546. package/lib/utils/RandomGenerator/index.js.map +0 -1
  547. package/src/functional/$FormDataReader/$FormDataReader.ts +0 -83
  548. package/src/functional/$FormDataReader/index.ts +0 -1
  549. package/src/functional/$HeadersReader/$HeadersReader.ts +0 -26
  550. package/src/functional/$HeadersReader/index.ts +0 -1
  551. package/src/functional/$ParameterReader/$ParameterReader.ts +0 -29
  552. package/src/functional/$ParameterReader/index.ts +0 -1
  553. package/src/functional/$ProtobufReader.ts +0 -194
  554. package/src/functional/$ProtobufSizer.ts +0 -144
  555. package/src/functional/$ProtobufWriter.ts +0 -145
  556. package/src/functional/$QueryReader/$QueryReader.ts +0 -46
  557. package/src/functional/$QueryReader/index.ts +0 -1
  558. package/src/functional/$any.ts +0 -3
  559. package/src/functional/$clone.ts +0 -48
  560. package/src/functional/$convention.ts +0 -37
  561. package/src/functional/$dictionary.ts +0 -22
  562. package/src/functional/$guard.ts +0 -21
  563. package/src/functional/$is_between.ts +0 -2
  564. package/src/functional/$join.ts +0 -46
  565. package/src/functional/$number.ts +0 -12
  566. package/src/functional/$report.ts +0 -13
  567. package/src/functional/$rest.ts +0 -3
  568. package/src/functional/$stoll.ts +0 -8
  569. package/src/functional/$string.ts +0 -43
  570. package/src/functional/$strlen.ts +0 -7
  571. package/src/functional/$tail.ts +0 -5
  572. package/src/functional/$throws.ts +0 -10
  573. package/src/functional/IProtobufWriter.ts +0 -18
  574. package/src/functional/Namespace/functional.ts +0 -5
  575. package/src/functional/Namespace/http.ts +0 -9
  576. package/src/functional/Namespace/index.ts +0 -75
  577. package/src/functional/Namespace/json.ts +0 -15
  578. package/src/functional/Namespace/llm.ts +0 -20
  579. package/src/functional/Namespace/misc.ts +0 -14
  580. package/src/functional/Namespace/notations.ts +0 -23
  581. package/src/functional/Namespace/protobuf.ts +0 -20
  582. package/src/functional/is.ts +0 -10
  583. package/src/programmers/helpers/RandomRanger.ts +0 -225
  584. package/src/programmers/internal/random_custom.ts +0 -39
  585. package/src/utils/RandomGenerator/RandomGenerator.ts +0 -119
  586. package/src/utils/RandomGenerator/index.ts +0 -1
@@ -3,8 +3,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.$randomString = void 0;
4
4
  var _randomInteger_1 = require("./$randomInteger");
5
5
  var $randomString = function (props) {
6
+ var _a;
6
7
  var length = (0, _randomInteger_1.$randomInteger)({
7
- minimum: props.minLength,
8
+ type: "integer",
9
+ minimum: (_a = props.minLength) !== null && _a !== void 0 ? _a : 0,
8
10
  maximum: props.maxLength,
9
11
  });
10
12
  return new Array(length)
@@ -16,6 +18,7 @@ exports.$randomString = $randomString;
16
18
  var ALPHABETS = "abcdefghijklmnopqrstuvwxyz";
17
19
  var random = function () {
18
20
  return (0, _randomInteger_1.$randomInteger)({
21
+ type: "integer",
19
22
  minimum: 0,
20
23
  maximum: ALPHABETS.length - 1,
21
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"$randomString.js","sourceRoot":"","sources":["../../src/internal/$randomString.ts"],"names":[],"mappings":";;;AAEA,mDAAkD;AAE3C,IAAM,aAAa,GAAG,UAC3B,KAAkD;IAElD,IAAM,MAAM,GAAW,IAAA,+BAAc,EAAC;QACpC,OAAO,EAAE,KAAK,CAAC,SAAS;QACxB,OAAO,EAAE,KAAK,CAAC,SAAS;KACzB,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;SACrB,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,cAAM,OAAA,SAAS,CAAC,MAAM,EAAE,CAAC,EAAnB,CAAmB,CAAC;SAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC;AAXW,QAAA,aAAa,iBAWxB;AAEF,IAAM,SAAS,GAAG,4BAA4B,CAAC;AAE/C,IAAM,MAAM,GAAG;IACb,OAAA,IAAA,+BAAc,EAAC;QACb,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;KAC9B,CAAC;AAHF,CAGE,CAAC"}
1
+ {"version":3,"file":"$randomString.js","sourceRoot":"","sources":["../../src/internal/$randomString.ts"],"names":[],"mappings":";;;AAEA,mDAAkD;AAE3C,IAAM,aAAa,GAAG,UAAC,KAAkC;;IAC9D,IAAM,MAAM,GAAW,IAAA,+BAAc,EAAC;QACpC,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,MAAA,KAAK,CAAC,SAAS,mCAAI,CAAC;QAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;KACzB,CAAC,CAAC;IACH,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC;SACrB,IAAI,CAAC,CAAC,CAAC;SACP,GAAG,CAAC,cAAM,OAAA,SAAS,CAAC,MAAM,EAAE,CAAC,EAAnB,CAAmB,CAAC;SAC9B,IAAI,CAAC,EAAE,CAAC,CAAC;AACd,CAAC,CAAC;AAVW,QAAA,aAAa,iBAUxB;AAEF,IAAM,SAAS,GAAG,4BAA4B,CAAC;AAE/C,IAAM,MAAM,GAAG;IACb,OAAA,IAAA,+BAAc,EAAC;QACb,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC;QACV,OAAO,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;KAC9B,CAAC;AAJF,CAIE,CAAC"}
package/lib/llm.d.ts CHANGED
@@ -37,7 +37,7 @@ import { ILlmApplication, ILlmSchema } from "@samchon/openapi";
37
37
  * @reference https://platform.openai.com/docs/guides/function-calling
38
38
  * @author Jeongho Nam - https://github.com/samchon
39
39
  */
40
- declare function application(options?: ILlmApplication.IOptions): never;
40
+ export declare function application(options?: ILlmApplication.IOptions): never;
41
41
  /**
42
42
  * TypeScript functions to LLM function calling application.
43
43
  *
@@ -74,9 +74,7 @@ declare function application(options?: ILlmApplication.IOptions): never;
74
74
  * @reference https://platform.openai.com/docs/guides/function-calling
75
75
  * @author Jeongho Nam - https://github.com/samchon
76
76
  */
77
- declare function application<App extends object>(options?: ILlmApplication.IOptions): ILlmApplication;
78
- declare const applicationPure: typeof application;
79
- export { applicationPure as application };
77
+ export declare function application<App extends object>(options?: ILlmApplication.IOptions): ILlmApplication;
80
78
  /**
81
79
  * > You must configure the generic argument `T`.
82
80
  *
package/lib/llm.js CHANGED
@@ -1,40 +1,13 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.application = void 0;
3
+ exports.application = application;
27
4
  exports.schema = schema;
28
- var Namespace = __importStar(require("./functional/Namespace"));
29
5
  /**
30
6
  * @internal
31
7
  */
32
8
  function application() {
33
9
  halt("application");
34
10
  }
35
- var applicationPure = /** @__PURE__ */ Object.assign(application,
36
- /** @__PURE__ */ Namespace.llm.application());
37
- exports.application = applicationPure;
38
11
  /**
39
12
  * @internal
40
13
  */
package/lib/llm.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA8KA,wBAEC;AA9KD,gEAAoD;AAkFpD;;GAEG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAED,IAAM,eAAe,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CACpD,WAAW;AACX,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,CAC7C,CAAC;AAC0B,sCAAW;AA4EvC;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,6BAAsB,IAAI,8FAA2F,CACtH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"llm.js","sourceRoot":"","sources":["../src/llm.ts"],"names":[],"mappings":";;AAqFA,kCAEC;AA+ED,wBAEC;AAtFD;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AA4ED;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,6BAAsB,IAAI,8FAA2F,CACtH,CAAC;AACJ,CAAC"}
package/lib/module.d.ts CHANGED
@@ -442,7 +442,7 @@ export declare function validateEquals<T>(input: unknown): IValidation<T>;
442
442
  *
443
443
  * @author Jeongho Nam - https://github.com/samchon
444
444
  */
445
- declare function random(generator?: Partial<IRandomGenerator>): never;
445
+ export declare function random(generator?: Partial<IRandomGenerator>): never;
446
446
  /**
447
447
  * Generate random data.
448
448
  *
@@ -459,9 +459,7 @@ declare function random(generator?: Partial<IRandomGenerator>): never;
459
459
  *
460
460
  * @author Jeongho Nam - https://github.com/samchon
461
461
  */
462
- declare function random<T>(generator?: Partial<IRandomGenerator>): Resolved<T>;
463
- declare const randomPure: typeof random;
464
- export { randomPure as random };
462
+ export declare function random<T>(generator?: Partial<IRandomGenerator>): Resolved<T>;
465
463
  /**
466
464
  * Creates a reusable {@link assert} function.
467
465
  *
@@ -692,7 +690,7 @@ export declare function createValidateEquals<T>(): (input: unknown) => IValidati
692
690
  *
693
691
  * @author Jeongho Nam - https://github.com/samchon
694
692
  */
695
- declare function createRandom(generator?: Partial<IRandomGenerator>): never;
693
+ export declare function createRandom(generator?: Partial<IRandomGenerator>): never;
696
694
  /**
697
695
  * Creates a resuable {@link random} function.
698
696
  *
@@ -702,6 +700,4 @@ declare function createRandom(generator?: Partial<IRandomGenerator>): never;
702
700
  *
703
701
  * @author Jeongho Nam - https://github.com/samchon
704
702
  */
705
- declare function createRandom<T>(generator?: Partial<IRandomGenerator>): () => Resolved<T>;
706
- declare const createRandomPure: typeof createRandom;
707
- export { createRandomPure as createRandom };
703
+ export declare function createRandom<T>(generator?: Partial<IRandomGenerator>): () => Resolved<T>;
package/lib/module.js CHANGED
@@ -26,7 +26,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.createRandom = exports.random = exports.tags = exports.reflect = exports.protobuf = exports.notations = exports.misc = exports.json = exports.llm = exports.http = exports.functional = void 0;
29
+ exports.tags = exports.reflect = exports.protobuf = exports.notations = exports.misc = exports.json = exports.llm = exports.http = exports.functional = void 0;
30
30
  exports.assert = assert;
31
31
  exports.assertGuard = assertGuard;
32
32
  exports.is = is;
@@ -35,6 +35,7 @@ exports.assertEquals = assertEquals;
35
35
  exports.assertGuardEquals = assertGuardEquals;
36
36
  exports.equals = equals;
37
37
  exports.validateEquals = validateEquals;
38
+ exports.random = random;
38
39
  exports.createAssert = createAssert;
39
40
  exports.createAssertGuard = createAssertGuard;
40
41
  exports.createIs = createIs;
@@ -43,7 +44,7 @@ exports.createAssertEquals = createAssertEquals;
43
44
  exports.createAssertGuardEquals = createAssertGuardEquals;
44
45
  exports.createEquals = createEquals;
45
46
  exports.createValidateEquals = createValidateEquals;
46
- var Namespace = __importStar(require("./functional/Namespace"));
47
+ exports.createRandom = createRandom;
47
48
  exports.functional = __importStar(require("./functional"));
48
49
  exports.http = __importStar(require("./http"));
49
50
  exports.llm = __importStar(require("./llm"));
@@ -118,9 +119,6 @@ function validateEquals() {
118
119
  function random() {
119
120
  halt("random");
120
121
  }
121
- var randomPure = /** @__PURE__ */ Object.assign(random,
122
- /** @__PURE__ */ Namespace.random());
123
- exports.random = randomPure;
124
122
  /**
125
123
  * @internal
126
124
  */
@@ -175,8 +173,6 @@ function createValidateEquals() {
175
173
  function createRandom() {
176
174
  halt("createRandom");
177
175
  }
178
- var createRandomPure = /** @__PURE__ */ Object.assign(createRandom, randomPure);
179
- exports.createRandom = createRandomPure;
180
176
  /**
181
177
  * @internal
182
178
  */
package/lib/module.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2FA,wBAEC;AAiED,kCAEC;AAsDD,gBAEC;AAuDD,4BAEC;AAkED,oCAEC;AAuED,8CAEC;AAuDD,wBAEC;AAyDD,wCAEC;AA8CD,wBAEC;AAmCD,oCAEC;AA8DD,8CAEC;AA0BD,4BAEC;AA0BD,wCAEC;AAgCD,gDAEC;AA8DD,0DAIC;AA0BD,oCAEC;AA0BD,oDAEC;AA8BD,oCAEC;AAr5BD,2DAA2C;AAC3C,+CAA+B;AAC/B,6CAA6B;AAC7B,+CAA+B;AAC/B,+CAA+B;AAC/B,yDAAyC;AACzC,uDAAuC;AACvC,qDAAqC;AACrC,+CAA+B;AAE/B,mEAAiD;AACjD,kEAAgD;AAChD,mDAAiC;AACjC,qDAAmC;AACnC,gDAA8B;AAC9B,mDAAiC;AAEjC,8CAA4B;AAC5B,6CAA2B;AAC3B,8CAA4B;AAC5B,+CAA6B;AAC7B,8CAA4B;AA6D5B;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC;AA8DD;;GAEG;AACH,SAAgB,WAAW;IACzB,IAAI,CAAC,aAAa,CAAC,CAAC;AACtB,CAAC;AAmDD;;GAEG;AACH,SAAgB,EAAE;IAChB,IAAI,CAAC,IAAI,CAAC,CAAC;AACb,CAAC;AAoDD;;GAEG;AACH,SAAgB,QAAQ;IACtB,IAAI,CAAC,UAAU,CAAC,CAAC;AACnB,CAAC;AA+DD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAI,CAAC,cAAc,CAAC,CAAC;AACvB,CAAC;AAoED;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AAoDD;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC;AAsDD;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzB,CAAC;AA2CD;;GAEG;AACH,SAAgB,MAAM;IACpB,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjB,CAAC;AAgCD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAI,CAAC,cAAc,CAAC,CAAC;AACvB,CAAC;AA2DD;;GAEG;AACH,SAAgB,iBAAiB;IAC/B,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC5B,CAAC;AAuBD;;GAEG;AACH,SAAgB,QAAQ;IACtB,IAAI,CAAC,UAAU,CAAC,CAAC;AACnB,CAAC;AAuBD;;GAEG;AACH,SAAgB,cAAc;IAC5B,IAAI,CAAC,gBAAgB,CAAC,CAAC;AACzB,CAAC;AA6BD;;GAEG;AACH,SAAgB,kBAAkB;IAChC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC7B,CAAC;AA2DD;;GAEG;AACH,SAAgB,uBAAuB;IAGrC,IAAI,CAAC,yBAAyB,CAAC,CAAC;AAClC,CAAC;AAuBD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAI,CAAC,cAAc,CAAC,CAAC;AACvB,CAAC;AAuBD;;GAEG;AACH,SAAgB,oBAAoB;IAClC,IAAI,CAAC,sBAAsB,CAAC,CAAC;AAC/B,CAAC;AA2BD;;GAEG;AACH,SAAgB,YAAY;IAC1B,IAAI,CAAC,cAAc,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,IAAY;IACxB,MAAM,IAAI,KAAK,CACb,yBAAkB,IAAI,8FAA2F,CAClH,CAAC;AACJ,CAAC"}
@@ -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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"}
@@ -83,7 +83,7 @@ var FeatureProgrammer;
83
83
  };
84
84
  };
85
85
  FeatureProgrammer.writeDecomposed = function (props) {
86
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(props.functor.declare(props.modulo)), false), __read(Object.entries(props.result.functions)
86
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(props.functor.declare()), false), __read(Object.entries(props.result.functions)
87
87
  .filter(function (_a) {
88
88
  var _b = __read(_a, 1), k = _b[0];
89
89
  return props.functor.hasLocal(k);
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProgrammer.js","sourceRoot":"","sources":["../../src/programmers/FeatureProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureProgrammer.js","sourceRoot":"","sources":["../../src/programmers/FeatureProgrammer.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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"}