typia 15.1.0 → 15.2.0

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 (295) hide show
  1. package/lib/TypeGuardError.js.map +1 -1
  2. package/lib/basic.js.map +1 -1
  3. package/lib/compare.js.map +1 -1
  4. package/lib/functional.js.map +1 -1
  5. package/lib/http.js.map +1 -1
  6. package/lib/index.js.map +1 -1
  7. package/lib/internal/_IProtobufWriter.js.map +1 -1
  8. package/lib/internal/_ProtobufReader.js.map +1 -1
  9. package/lib/internal/_ProtobufSizer.js.map +1 -1
  10. package/lib/internal/_ProtobufWriter.js.map +1 -1
  11. package/lib/internal/_accessExpressionAsString.js.map +1 -1
  12. package/lib/internal/_assertGuard.js.map +1 -1
  13. package/lib/internal/_coerceLlmArguments.js.map +1 -1
  14. package/lib/internal/_createLlmEvaluation.js.map +1 -1
  15. package/lib/internal/_createStandardSchema.js.map +1 -1
  16. package/lib/internal/_decimal.js.map +1 -1
  17. package/lib/internal/_functionalTypeGuardErrorFactory.js.map +1 -1
  18. package/lib/internal/_httpFormDataReadArray.js.map +1 -1
  19. package/lib/internal/_httpFormDataReadBigint.js.map +1 -1
  20. package/lib/internal/_httpFormDataReadBlob.js.map +1 -1
  21. package/lib/internal/_httpFormDataReadBoolean.js.map +1 -1
  22. package/lib/internal/_httpFormDataReadFile.js.map +1 -1
  23. package/lib/internal/_httpFormDataReadNumber.js.map +1 -1
  24. package/lib/internal/_httpFormDataReadString.js.map +1 -1
  25. package/lib/internal/_httpHeaderReadBigint.js.map +1 -1
  26. package/lib/internal/_httpHeaderReadBoolean.js.map +1 -1
  27. package/lib/internal/_httpHeaderReadNumber.js.map +1 -1
  28. package/lib/internal/_httpParameterReadBigint.js.map +1 -1
  29. package/lib/internal/_httpParameterReadBoolean.js.map +1 -1
  30. package/lib/internal/_httpParameterReadNumber.js.map +1 -1
  31. package/lib/internal/_httpParameterReadString.js.map +1 -1
  32. package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
  33. package/lib/internal/_httpQueryReadArray.js.map +1 -1
  34. package/lib/internal/_httpQueryReadBigint.js.map +1 -1
  35. package/lib/internal/_httpQueryReadBoolean.js.map +1 -1
  36. package/lib/internal/_httpQueryReadNumber.js.map +1 -1
  37. package/lib/internal/_httpQueryReadString.js.map +1 -1
  38. package/lib/internal/_isBetween.js.map +1 -1
  39. package/lib/internal/_isBigintString.js.map +1 -1
  40. package/lib/internal/_isFormatByte.js.map +1 -1
  41. package/lib/internal/_isFormatDate.js.map +1 -1
  42. package/lib/internal/_isFormatDateTime.js.map +1 -1
  43. package/lib/internal/_isFormatDuration.js.map +1 -1
  44. package/lib/internal/_isFormatEmail.js.map +1 -1
  45. package/lib/internal/_isFormatHostname.js.map +1 -1
  46. package/lib/internal/_isFormatIdnEmail.js.map +1 -1
  47. package/lib/internal/_isFormatIdnHostname.js.map +1 -1
  48. package/lib/internal/_isFormatIpv4.js.map +1 -1
  49. package/lib/internal/_isFormatIpv6.js.map +1 -1
  50. package/lib/internal/_isFormatIri.js.map +1 -1
  51. package/lib/internal/_isFormatIriReference.js.map +1 -1
  52. package/lib/internal/_isFormatJsonPointer.js.map +1 -1
  53. package/lib/internal/_isFormatPassword.js.map +1 -1
  54. package/lib/internal/_isFormatRegex.js.map +1 -1
  55. package/lib/internal/_isFormatRelativeJsonPointer.js.map +1 -1
  56. package/lib/internal/_isFormatTime.js.map +1 -1
  57. package/lib/internal/_isFormatUri.js.map +1 -1
  58. package/lib/internal/_isFormatUriReference.js.map +1 -1
  59. package/lib/internal/_isFormatUriTemplate.js.map +1 -1
  60. package/lib/internal/_isFormatUrl.js.map +1 -1
  61. package/lib/internal/_isFormatUuid.js.map +1 -1
  62. package/lib/internal/_isMultipleOf.js.map +1 -1
  63. package/lib/internal/_isTypeFloat.js.map +1 -1
  64. package/lib/internal/_isTypeInt16.js.map +1 -1
  65. package/lib/internal/_isTypeInt32.js.map +1 -1
  66. package/lib/internal/_isTypeInt64.js.map +1 -1
  67. package/lib/internal/_isTypeInt64Bigint.js.map +1 -1
  68. package/lib/internal/_isTypeInt8.js.map +1 -1
  69. package/lib/internal/_isTypeUint16.js.map +1 -1
  70. package/lib/internal/_isTypeUint32.js.map +1 -1
  71. package/lib/internal/_isTypeUint64.js.map +1 -1
  72. package/lib/internal/_isTypeUint64Bigint.js.map +1 -1
  73. package/lib/internal/_isTypeUint8.js.map +1 -1
  74. package/lib/internal/_isUniqueItems.js.map +1 -1
  75. package/lib/internal/_jsonStringifyArray.js.map +1 -1
  76. package/lib/internal/_jsonStringifyElement.js.map +1 -1
  77. package/lib/internal/_jsonStringifyNumber.js.map +1 -1
  78. package/lib/internal/_jsonStringifyProperty.js.map +1 -1
  79. package/lib/internal/_jsonStringifyRest.js.map +1 -1
  80. package/lib/internal/_jsonStringifyString.js.map +1 -1
  81. package/lib/internal/_jsonStringifyTail.js.map +1 -1
  82. package/lib/internal/_llmApplicationFinalize.js +8 -1
  83. package/lib/internal/_llmApplicationFinalize.js.map +1 -1
  84. package/lib/internal/_notationAny.js.map +1 -1
  85. package/lib/internal/_notationAssign.js.map +1 -1
  86. package/lib/internal/_notationCamel.js.map +1 -1
  87. package/lib/internal/_notationKebab.js.map +1 -1
  88. package/lib/internal/_notationKeyCollision.js.map +1 -1
  89. package/lib/internal/_notationPascal.js.map +1 -1
  90. package/lib/internal/_notationSnake.js.map +1 -1
  91. package/lib/internal/_parseLlmArguments.js.map +1 -1
  92. package/lib/internal/_plainCloneAny.js.map +1 -1
  93. package/lib/internal/_randomArray.js.map +1 -1
  94. package/lib/internal/_randomBigint.js.map +1 -1
  95. package/lib/internal/_randomBoolean.js.map +1 -1
  96. package/lib/internal/_randomFormatByte.js.map +1 -1
  97. package/lib/internal/_randomFormatDate.js.map +1 -1
  98. package/lib/internal/_randomFormatDatetime.js.map +1 -1
  99. package/lib/internal/_randomFormatDuration.js.map +1 -1
  100. package/lib/internal/_randomFormatEmail.js.map +1 -1
  101. package/lib/internal/_randomFormatHostname.js.map +1 -1
  102. package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
  103. package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
  104. package/lib/internal/_randomFormatIpv4.js.map +1 -1
  105. package/lib/internal/_randomFormatIpv6.js.map +1 -1
  106. package/lib/internal/_randomFormatIri.js.map +1 -1
  107. package/lib/internal/_randomFormatIriReference.js.map +1 -1
  108. package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
  109. package/lib/internal/_randomFormatPassword.js.map +1 -1
  110. package/lib/internal/_randomFormatRegex.js.map +1 -1
  111. package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
  112. package/lib/internal/_randomFormatTime.js.map +1 -1
  113. package/lib/internal/_randomFormatUri.js.map +1 -1
  114. package/lib/internal/_randomFormatUriReference.js.map +1 -1
  115. package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
  116. package/lib/internal/_randomFormatUrl.js.map +1 -1
  117. package/lib/internal/_randomFormatUuid.js.map +1 -1
  118. package/lib/internal/_randomInteger.js.map +1 -1
  119. package/lib/internal/_randomMultiple.js.map +1 -1
  120. package/lib/internal/_randomNumber.js.map +1 -1
  121. package/lib/internal/_randomPattern.js.map +1 -1
  122. package/lib/internal/_randomPick.js.map +1 -1
  123. package/lib/internal/_randomString.js.map +1 -1
  124. package/lib/internal/_randomStringLength.js.map +1 -1
  125. package/lib/internal/_stringLength.js.map +1 -1
  126. package/lib/internal/_stringLengthGte.js.map +1 -1
  127. package/lib/internal/_stringLengthLte.js.map +1 -1
  128. package/lib/internal/_throwTypeGuardError.js.map +1 -1
  129. package/lib/internal/_validateReport.js.map +1 -1
  130. package/lib/internal/private/__notationRename.js.map +1 -1
  131. package/lib/internal/private/__randomComposition.js.map +1 -1
  132. package/lib/internal/private/__randomEpoch.js.map +1 -1
  133. package/lib/json.js.map +1 -1
  134. package/lib/llm.js.map +1 -1
  135. package/lib/module.js.map +1 -1
  136. package/lib/notations.js.map +1 -1
  137. package/lib/plain.js.map +1 -1
  138. package/lib/protobuf.js.map +1 -1
  139. package/lib/re-exports.js.map +1 -1
  140. package/lib/reflect.js.map +1 -1
  141. package/lib/transform.d.ts +5 -2
  142. package/lib/transform.js +6 -2
  143. package/lib/transform.js.map +1 -1
  144. package/lib/transform.mjs +7 -3
  145. package/lib/transform.mjs.map +1 -1
  146. package/lib/transformers/NoTransformConfigurationError.js.map +1 -1
  147. package/native/cmd/ttsc-typia/build.go +3 -1
  148. package/native/cmd/ttsc-typia/content_mapper_transform_ts71_test.go +102 -0
  149. package/native/cmd/ttsc-typia/diagnostics.go +1 -1
  150. package/native/cmd/ttsc-typia/distinct_programs_concurrent_emit_test.go +167 -0
  151. package/native/cmd/ttsc-typia/exact_optional_family_emission_contract_test.go +2 -1
  152. package/native/cmd/ttsc-typia/project_dependencies_heritage_forms_transform_test.go +84 -0
  153. package/native/cmd/ttsc-typia/schema_literal_helpers_test.go +2 -1
  154. package/native/cmd/ttsc-typia/transform.go +7 -6
  155. package/native/core/context/EmitFactory.go +20 -29
  156. package/native/core/context/ImportProgrammer.go +5 -7
  157. package/native/core/context/NodeFactory.go +25 -0
  158. package/native/core/context/node_factory_ownership_test.go +45 -0
  159. package/native/core/factories/ExpressionFactory.go +13 -14
  160. package/native/core/factories/IdentifierFactory.go +3 -5
  161. package/native/core/factories/LiteralFactory.go +6 -8
  162. package/native/core/factories/NumericRangeFactory.go +8 -10
  163. package/native/core/factories/StatementFactory.go +5 -7
  164. package/native/core/factories/TemplateFactory.go +1 -3
  165. package/native/core/factories/TypeFactory.go +7 -9
  166. package/native/core/factories/ValueFactory.go +5 -7
  167. package/native/core/factories/factory_utility_coverage_test.go +21 -20
  168. package/native/core/factories/internal/metadata/MetadataHelper.go +13 -13
  169. package/native/core/factories/internal/metadata/comment_tags_coverage_test.go +7 -16
  170. package/native/core/factories/internal/metadata/emplace_metadata_object.go +36 -27
  171. package/native/core/factories/internal/metadata/iterate_metadata_alias.go +2 -2
  172. package/native/core/factories/internal/metadata/iterate_metadata_constant.go +4 -4
  173. package/native/core/factories/internal/metadata/iterate_metadata_function.go +2 -2
  174. package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +11 -11
  175. package/native/core/factories/internal/metadata/js_doc_link_text_test.go +6 -16
  176. package/native/core/factories/internal/metadata/js_doc_parameter_name_reads_qualified_name_test.go +2 -1
  177. package/native/core/factories/internal/metadata/js_doc_source_helpers_test.go +44 -0
  178. package/native/core/factories/internal/metadata/js_doc_type_tag_blank_separation_test.go +16 -22
  179. package/native/core/factories/numeric_range_factory_enforces_64bit_bounds_test.go +2 -1
  180. package/native/core/programmers/AssertProgrammer.go +16 -18
  181. package/native/core/programmers/IsProgrammer.go +10 -12
  182. package/native/core/programmers/RandomProgrammer.go +29 -31
  183. package/native/core/programmers/ValidateProgrammer.go +20 -22
  184. package/native/core/programmers/compare/CompareEqualProgrammer.go +1 -3
  185. package/native/core/programmers/compare/CompareLessProgrammer.go +1 -3
  186. package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +3 -5
  187. package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +2 -2
  188. package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +2 -2
  189. package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +2 -2
  190. package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +8 -10
  191. package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +2 -2
  192. package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +4 -6
  193. package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +2 -2
  194. package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +2 -2
  195. package/native/core/programmers/helpers/ClassifyJoiner.go +1 -3
  196. package/native/core/programmers/helpers/CloneJoiner.go +8 -14
  197. package/native/core/programmers/helpers/FunctionProgrammer.go +3 -5
  198. package/native/core/programmers/helpers/NotationJoiner.go +6 -12
  199. package/native/core/programmers/helpers/PruneJoiner.go +10 -12
  200. package/native/core/programmers/helpers/RandomJoiner.go +5 -7
  201. package/native/core/programmers/helpers/StringifyJoinder.go +15 -17
  202. package/native/core/programmers/helpers/UnionExplorer.go +24 -26
  203. package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +2 -4
  204. package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +1 -1
  205. package/native/core/programmers/http/HttpAssertQueryProgrammer.go +1 -1
  206. package/native/core/programmers/http/HttpFormDataProgrammer.go +9 -11
  207. package/native/core/programmers/http/HttpHeadersProgrammer.go +7 -9
  208. package/native/core/programmers/http/HttpIsFormDataProgrammer.go +2 -4
  209. package/native/core/programmers/http/HttpIsHeadersProgrammer.go +1 -1
  210. package/native/core/programmers/http/HttpIsQueryProgrammer.go +1 -1
  211. package/native/core/programmers/http/HttpParameterProgrammer.go +2 -4
  212. package/native/core/programmers/http/HttpQueryProgrammer.go +8 -10
  213. package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +2 -4
  214. package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +1 -1
  215. package/native/core/programmers/http/HttpValidateQueryProgrammer.go +1 -1
  216. package/native/core/programmers/internal/CheckerProgrammer.go +26 -28
  217. package/native/core/programmers/internal/FeatureProgrammer.go +32 -34
  218. package/native/core/programmers/iterate/check_array_length.go +1 -1
  219. package/native/core/programmers/iterate/check_bigint.go +2 -4
  220. package/native/core/programmers/iterate/check_dynamic_key.go +5 -7
  221. package/native/core/programmers/iterate/check_dynamic_properties.go +43 -57
  222. package/native/core/programmers/iterate/check_everything.go +3 -5
  223. package/native/core/programmers/iterate/check_exclude.go +2 -4
  224. package/native/core/programmers/iterate/check_native.go +2 -4
  225. package/native/core/programmers/iterate/check_number.go +2 -4
  226. package/native/core/programmers/iterate/check_object.go +3 -5
  227. package/native/core/programmers/iterate/check_object_type_tags.go +1 -1
  228. package/native/core/programmers/iterate/check_string.go +2 -4
  229. package/native/core/programmers/iterate/check_template.go +7 -9
  230. package/native/core/programmers/iterate/decode_union_object.go +2 -4
  231. package/native/core/programmers/iterate/feature_object_entries.go +2 -4
  232. package/native/core/programmers/json/JsonAssertParseProgrammer.go +2 -2
  233. package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +2 -4
  234. package/native/core/programmers/json/JsonIsParseProgrammer.go +4 -6
  235. package/native/core/programmers/json/JsonIsStringifyProgrammer.go +2 -4
  236. package/native/core/programmers/json/JsonStringifyProgrammer.go +37 -39
  237. package/native/core/programmers/json/JsonValidateParseProgrammer.go +2 -2
  238. package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +2 -4
  239. package/native/core/programmers/llm/LlmApplicationProgrammer.go +1 -3
  240. package/native/core/programmers/llm/LlmCoerceProgrammer.go +2 -4
  241. package/native/core/programmers/llm/LlmControllerProgrammer.go +1 -3
  242. package/native/core/programmers/llm/LlmEvaluationProgrammer.go +1 -3
  243. package/native/core/programmers/llm/LlmParametersProgrammer.go +1 -3
  244. package/native/core/programmers/llm/LlmParseProgrammer.go +3 -5
  245. package/native/core/programmers/llm/LlmSchemaProgrammer.go +5 -7
  246. package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +2 -4
  247. package/native/core/programmers/llm/llm_schema_programmer_coverage_test.go +1 -1
  248. package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +1 -3
  249. package/native/core/programmers/notations/NotationGeneralProgrammer.go +26 -28
  250. package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +1 -3
  251. package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +1 -3
  252. package/native/core/programmers/plain/PlainAssertClassifyProgrammer.go +2 -4
  253. package/native/core/programmers/plain/PlainAssertCloneProgrammer.go +2 -4
  254. package/native/core/programmers/plain/PlainAssertPruneProgrammer.go +2 -4
  255. package/native/core/programmers/plain/PlainClassifyProgrammer.go +44 -46
  256. package/native/core/programmers/plain/PlainCloneProgrammer.go +30 -32
  257. package/native/core/programmers/plain/PlainIsCloneProgrammer.go +2 -4
  258. package/native/core/programmers/plain/PlainIsPruneProgrammer.go +2 -4
  259. package/native/core/programmers/plain/PlainPruneProgrammer.go +26 -28
  260. package/native/core/programmers/plain/PlainValidateClassifyProgrammer.go +2 -4
  261. package/native/core/programmers/plain/PlainValidateCloneProgrammer.go +2 -4
  262. package/native/core/programmers/plain/PlainValidatePruneProgrammer.go +2 -4
  263. package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +2 -4
  264. package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +2 -4
  265. package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +24 -25
  266. package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +23 -25
  267. package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +2 -4
  268. package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +2 -4
  269. package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +1 -3
  270. package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +2 -4
  271. package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +3 -5
  272. package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +1 -1
  273. package/native/core/programmers/reflect/ReflectLiteralsProgrammer.go +1 -3
  274. package/native/core/schemas/metadata/MetadataCollection.go +2 -2
  275. package/native/core/schemas/metadata/MetadataDefaultLibrary.go +1 -1
  276. package/native/core/schemas/metadata/MetadataDependency.go +13 -13
  277. package/native/core/utils/PromiseTypeFactory.go +3 -3
  278. package/native/go.mod +3 -4
  279. package/native/go.work +1 -1
  280. package/native/transform/CallExpressionTransformer.go +4 -4
  281. package/native/transform/FileTransformer.go +2 -4
  282. package/native/transform/features/RandomTransformer.go +1 -3
  283. package/native/transform/features/compare/CompareEqualTransformer.go +1 -1
  284. package/native/transform/features/compare/CompareLessTransformer.go +1 -1
  285. package/native/transform/features/functional/FunctionalGenericTransformer.go +2 -2
  286. package/native/transform/features/llm/LlmCoerceTransformer.go +1 -1
  287. package/native/transform/features/llm/LlmEvaluationProbabilityDeclarations.go +1 -1
  288. package/native/transform/features/llm/LlmEvaluationTransformer.go +1 -1
  289. package/native/transform/features/llm/LlmParseTransformer.go +1 -1
  290. package/native/transform/features/llm/LlmSchemaTransformer.go +1 -3
  291. package/native/transform/features/reflect/ReflectNameTransformer.go +1 -3
  292. package/native/transform/file_transformer_coverage_test.go +2 -1
  293. package/native/transform/internal/GenericTransformer.go +1 -3
  294. package/package.json +6 -6
  295. package/src/transform.ts +6 -2
@@ -42,8 +42,6 @@ const jsonStringifyProgrammer_PREFIX = "_s"
42
42
  const jsonStringifyProgrammer_CHECKER_PREFIX = "_i"
43
43
  const jsonStringifyProgrammer_CHECKER_PREFIX_VALIDATED = "_si"
44
44
 
45
- var jsonStringifyProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
46
-
47
45
  func (jsonStringifyProgrammerNamespace) Decompose(props JsonStringifyProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
48
46
  checkerPrefix := jsonStringifyProgrammer_checker_prefix(props.Validated)
49
47
  config := jsonStringifyProgrammer_configure(struct {
@@ -70,7 +68,7 @@ func (jsonStringifyProgrammerNamespace) Decompose(props JsonStringifyProgrammer_
70
68
  Type: props.Type,
71
69
  Name: props.Name,
72
70
  })
73
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
71
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
74
72
  return nativeinternal.FeatureProgrammer_IDecomposed{
75
73
  Functions: composed.Functions,
76
74
  Statements: composed.Statements,
@@ -95,7 +93,7 @@ func (jsonStringifyProgrammerNamespace) Write(props nativecontext.IProgrammerPro
95
93
  Name: props.Name,
96
94
  Validated: false,
97
95
  })
98
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
96
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
99
97
  Modulo: props.Modulo,
100
98
  Functor: functor,
101
99
  Result: result,
@@ -108,7 +106,7 @@ func jsonStringifyProgrammer_write_array_functions(props struct {
108
106
  Functor *nativehelpers.FunctionProgrammer
109
107
  Collection *schemametadata.MetadataCollection
110
108
  }) []*shimast.Node {
111
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
109
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
112
110
  output := []*shimast.Node{}
113
111
  for _, typ := range props.Collection.Arrays() {
114
112
  if typ.Recursive == false {
@@ -123,7 +121,7 @@ func jsonStringifyProgrammer_write_array_functions(props struct {
123
121
  Value: f.NewArrowFunction(
124
122
  nil,
125
123
  nil,
126
- f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
124
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{Emit: props.Context.Emit,
127
125
  Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
128
126
  Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
129
127
  Input: f.NewIdentifier("input"),
@@ -165,7 +163,7 @@ func jsonStringifyProgrammer_write_tuple_functions(props struct {
165
163
  Collection *schemametadata.MetadataCollection
166
164
  Validated bool
167
165
  }) []*shimast.Node {
168
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
166
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
169
167
  output := []*shimast.Node{}
170
168
  for _, tuple := range props.Collection.Tuples() {
171
169
  if tuple.Recursive == false {
@@ -180,7 +178,7 @@ func jsonStringifyProgrammer_write_tuple_functions(props struct {
180
178
  Value: f.NewArrowFunction(
181
179
  nil,
182
180
  nil,
183
- f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
181
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{Emit: props.Context.Emit,
184
182
  Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
185
183
  Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
186
184
  Input: f.NewIdentifier("input"),
@@ -217,7 +215,7 @@ func jsonStringifyProgrammer_decode(props struct {
217
215
  Explore nativeinternal.FeatureProgrammer_IExplore
218
216
  Validated bool
219
217
  }) *shimast.Node {
220
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
218
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
221
219
  if props.Metadata.Any {
222
220
  return jsonStringifyProgrammer_wrap_required(struct {
223
221
  Context nativecontext.ITypiaContext
@@ -283,7 +281,7 @@ func jsonStringifyProgrammer_decode(props struct {
283
281
  Type: "resolved",
284
282
  Is: func() *shimast.Node {
285
283
  if isDate {
286
- return nativeiterate.Check_native(nativeiterate.Check_nativeProps{
284
+ return nativeiterate.Check_native(nativeiterate.Check_nativeProps{Emit: props.Context.Emit,
287
285
  Name: "Date",
288
286
  Input: props.Input,
289
287
  })
@@ -291,7 +289,7 @@ func jsonStringifyProgrammer_decode(props struct {
291
289
  return nativeprogrammers.IsProgrammer.Decode_to_json(struct {
292
290
  Input *shimast.Expression
293
291
  CheckNull bool
294
- }{Input: props.Input, CheckNull: false})
292
+ }{Input: props.Input, CheckNull: false}, props.Context.Emit)
295
293
  },
296
294
  Value: func() *shimast.Node {
297
295
  next := props
@@ -319,7 +317,7 @@ func jsonStringifyProgrammer_decode(props struct {
319
317
  nativeprogrammers.IsProgrammer.Decode_to_json(struct {
320
318
  Input *shimast.Expression
321
319
  CheckNull bool
322
- }{Input: props.Input, CheckNull: false}),
320
+ }{Input: props.Input, CheckNull: false}, props.Context.Emit),
323
321
  resolved,
324
322
  jsonStringifyProgrammer_decode(original),
325
323
  props.Context.Emit,
@@ -330,7 +328,7 @@ func jsonStringifyProgrammer_decode(props struct {
330
328
  unions = append(unions, jsonStringifyProgrammer_IUnion{
331
329
  Type: "functional",
332
330
  Is: func() *shimast.Node {
333
- return nativeprogrammers.IsProgrammer.Decode_functional(props.Input)
331
+ return nativeprogrammers.IsProgrammer.Decode_functional(props.Input, props.Context.Emit)
334
332
  },
335
333
  Value: func() *shimast.Node {
336
334
  return jsonStringifyProgrammer_decode_functional(props.Explore, props.Context.Emit)
@@ -559,7 +557,7 @@ func jsonStringifyProgrammer_decode(props struct {
559
557
  unions = append(unions, jsonStringifyProgrammer_IUnion{
560
558
  Type: "object",
561
559
  Is: func() *shimast.Node {
562
- return nativeiterate.Check_native(nativeiterate.Check_nativeProps{Name: native.Name, Input: props.Input})
560
+ return nativeiterate.Check_native(nativeiterate.Check_nativeProps{Emit: props.Context.Emit, Name: native.Name, Input: props.Input})
563
561
  },
564
562
  Value: func() *shimast.Node {
565
563
  if nativehelpers.AtomicPredicator.Native(native.Name) {
@@ -707,7 +705,7 @@ type jsonStringifyProgrammer_decodeArrayProps struct {
707
705
  }
708
706
 
709
707
  func jsonStringifyProgrammer_decode_array(props jsonStringifyProgrammer_decodeArrayProps) *shimast.Node {
710
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
708
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
711
709
  if props.Array.Type.Recursive {
712
710
  index := 0
713
711
  if props.Array.Type.Index != nil {
@@ -717,7 +715,7 @@ func jsonStringifyProgrammer_decode_array(props jsonStringifyProgrammer_decodeAr
717
715
  f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%sa%d", props.Config.Prefix, index))),
718
716
  nil,
719
717
  nil,
720
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
718
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
721
719
  Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
722
720
  Input: props.Input,
723
721
  Explore: jsonStringifyProgrammer_explore_with(props.Explore, "function", "array"),
@@ -729,7 +727,7 @@ func jsonStringifyProgrammer_decode_array(props jsonStringifyProgrammer_decodeAr
729
727
  }
730
728
 
731
729
  func jsonStringifyProgrammer_decode_array_inline(props jsonStringifyProgrammer_decodeArrayProps) *shimast.Node {
732
- return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{
730
+ return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{Emit: props.Context.Emit,
733
731
  Config: nativeinternal.FeatureProgrammer_DecodeArrayConfig{
734
732
  Trace: props.Config.Trace,
735
733
  Path: props.Config.Path,
@@ -765,7 +763,7 @@ type jsonStringifyProgrammer_decodeTupleProps struct {
765
763
  }
766
764
 
767
765
  func jsonStringifyProgrammer_decode_tuple(props jsonStringifyProgrammer_decodeTupleProps) *shimast.Node {
768
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
766
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
769
767
  if props.Tuple.Type.Recursive {
770
768
  index := 0
771
769
  if props.Tuple.Type.Index != nil {
@@ -775,7 +773,7 @@ func jsonStringifyProgrammer_decode_tuple(props jsonStringifyProgrammer_decodeTu
775
773
  f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%st%d", props.Config.Prefix, index))),
776
774
  nil,
777
775
  nil,
778
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
776
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
779
777
  Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
780
778
  Explore: jsonStringifyProgrammer_explore_with(props.Explore, "function", props.Explore.From),
781
779
  Input: props.Input,
@@ -805,7 +803,7 @@ type jsonStringifyProgrammer_decodeTupleInlineProps struct {
805
803
  }
806
804
 
807
805
  func jsonStringifyProgrammer_decode_tuple_inline(props jsonStringifyProgrammer_decodeTupleInlineProps) *shimast.Node {
808
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
806
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
809
807
  elements := []*shimast.Node{}
810
808
  for index, elem := range props.Tuple.Elements {
811
809
  if elem.Rest != nil {
@@ -902,7 +900,7 @@ func jsonStringifyProgrammer_decode_atomic(props struct {
902
900
  Explore nativeinternal.FeatureProgrammer_IExplore
903
901
  Validated bool
904
902
  }) *shimast.Node {
905
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
903
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
906
904
  input := props.Input
907
905
  if props.Type == "string" {
908
906
  return f.NewCallExpression(
@@ -940,7 +938,7 @@ func jsonStringifyProgrammer_decode_constant_string(props struct {
940
938
  Explore nativeinternal.FeatureProgrammer_IExplore
941
939
  Validated bool
942
940
  }) *shimast.Node {
943
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
941
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
944
942
  if jsonStringifyProgrammer_every_strings(props.Values, func(value string) bool {
945
943
  return nativehelpers.StringifyPredicator.Require_escape(value) == false
946
944
  }) {
@@ -974,7 +972,7 @@ func jsonStringifyProgrammer_decode_to_json(props struct {
974
972
  Explore nativeinternal.FeatureProgrammer_IExplore
975
973
  Validated bool
976
974
  }) *shimast.Node {
977
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
975
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
978
976
  next := props
979
977
  next.Input = f.NewCallExpression(
980
978
  nativefactories.IdentifierFactory.Access(props.Context.Emit, props.Input, "toJSON"),
@@ -987,7 +985,7 @@ func jsonStringifyProgrammer_decode_to_json(props struct {
987
985
  }
988
986
 
989
987
  func jsonStringifyProgrammer_decode_functional(explore nativeinternal.FeatureProgrammer_IExplore, emit *shimprinter.EmitContext) *shimast.Node {
990
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, emit)
988
+ f := nativecontext.NodeFactoryOf(emit)
991
989
  if explore.From == "array" {
992
990
  return f.NewStringLiteral("null", shimast.TokenFlagsNone)
993
991
  }
@@ -1021,12 +1019,12 @@ func jsonStringifyProgrammer_explore_objects(props jsonStringifyProgrammer_explo
1021
1019
  if props.Metadata.Union_index != nil {
1022
1020
  index = *props.Metadata.Union_index
1023
1021
  }
1024
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1022
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1025
1023
  return f.NewCallExpression(
1026
1024
  f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%su%d", jsonStringifyProgrammer_PREFIX, index))),
1027
1025
  nil,
1028
1026
  nil,
1029
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
1027
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
1030
1028
  Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
1031
1029
  Input: props.Input,
1032
1030
  Explore: props.Explore,
@@ -1046,7 +1044,7 @@ type jsonStringifyProgrammer_exploreArraysProps struct {
1046
1044
  }
1047
1045
 
1048
1046
  func jsonStringifyProgrammer_explore_arrays(props jsonStringifyProgrammer_exploreArraysProps) *shimast.Node {
1049
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1047
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1050
1048
  return jsonStringifyProgrammer_explore_array_like_union_types(jsonStringifyProgrammer_exploreArrayLikeUnionTypesProps[*schemametadata.MetadataArray]{
1051
1049
  Context: props.Context,
1052
1050
  Config: props.Config,
@@ -1135,7 +1133,7 @@ func jsonStringifyProgrammer_explore_array_like_union_types[T interface {
1135
1133
  arrayExplore := props.Explore
1136
1134
  arrayExplore.Source = "function"
1137
1135
  arrayExplore.From = "array"
1138
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1136
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1139
1137
  return f.NewCallExpression(
1140
1138
  f.NewIdentifier(props.Functor.EmplaceUnion(props.Config.Prefix, jsonStringifyProgrammer_array_like_names(props.Elements), func() *shimast.Node {
1141
1139
  explore := arrayExplore
@@ -1172,7 +1170,7 @@ func jsonStringifyProgrammer_wrap_required(props struct {
1172
1170
  Explore nativeinternal.FeatureProgrammer_IExplore
1173
1171
  Expression *shimast.Node
1174
1172
  }) *shimast.Node {
1175
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1173
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1176
1174
  if props.Metadata.IsRequired() && props.Metadata.Any == false {
1177
1175
  return props.Expression
1178
1176
  }
@@ -1194,7 +1192,7 @@ func jsonStringifyProgrammer_wrap_nullable(props struct {
1194
1192
  Metadata *schemametadata.MetadataSchema
1195
1193
  Expression *shimast.Node
1196
1194
  }) *shimast.Node {
1197
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1195
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1198
1196
  if props.Metadata.Nullable == false {
1199
1197
  return props.Expression
1200
1198
  }
@@ -1213,12 +1211,12 @@ func jsonStringifyProgrammer_wrap_functional(props struct {
1213
1211
  Explore nativeinternal.FeatureProgrammer_IExplore
1214
1212
  Expression *shimast.Node
1215
1213
  }) *shimast.Node {
1216
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1214
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1217
1215
  if len(props.Metadata.Functions) == 0 {
1218
1216
  return props.Expression
1219
1217
  }
1220
1218
  return nativefactories.ExpressionFactory.Conditional(
1221
- jsonStringifyProgrammer_binary(f.NewStringLiteral("function", shimast.TokenFlagsNone), shimast.KindExclamationEqualsEqualsToken, nativefactories.ValueFactory.TYPEOF(props.Input), props.Context.Emit),
1219
+ jsonStringifyProgrammer_binary(f.NewStringLiteral("function", shimast.TokenFlagsNone), shimast.KindExclamationEqualsEqualsToken, nativefactories.ValueFactory.TYPEOF(props.Input, props.Context.Emit), props.Context.Emit),
1222
1220
  props.Expression,
1223
1221
  jsonStringifyProgrammer_decode_functional(props.Explore, props.Context.Emit),
1224
1222
  props.Context.Emit,
@@ -1234,7 +1232,7 @@ type jsonStringifyProgrammer_iterateProps struct {
1234
1232
  }
1235
1233
 
1236
1234
  func jsonStringifyProgrammer_iterate(props jsonStringifyProgrammer_iterateProps) *shimast.Node {
1237
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1235
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1238
1236
  statements := []*shimast.Node{}
1239
1237
  for _, union := range props.Unions {
1240
1238
  statements = append(statements, f.NewIfStatement(
@@ -1257,7 +1255,7 @@ func jsonStringifyProgrammer_configure(props struct {
1257
1255
  Functor *nativehelpers.FunctionProgrammer
1258
1256
  Validated bool
1259
1257
  }) nativeinternal.FeatureProgrammer_IConfig {
1260
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1258
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1261
1259
  checkerPrefix := jsonStringifyProgrammer_checker_prefix(props.Validated)
1262
1260
  var config nativeinternal.FeatureProgrammer_IConfig
1263
1261
  config = nativeinternal.FeatureProgrammer_IConfig{
@@ -1333,7 +1331,7 @@ func jsonStringifyProgrammer_configure(props struct {
1333
1331
  })
1334
1332
  },
1335
1333
  Unionizer: func(next nativeinternal.FeatureProgrammer_ObjectorUnionizerProps) *shimast.Node {
1336
- return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
1334
+ return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{Emit: props.Context.Emit,
1337
1335
  Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
1338
1336
  return nativeprogrammers.IsProgrammer.Decode_object(nativeprogrammers.IsProgrammer_DecodeObjectProps{
1339
1337
  Context: props.Context,
@@ -1420,7 +1418,7 @@ func jsonStringifyProgrammer_initializer(props nativeinternal.FeatureProgrammer_
1420
1418
  // a value again while it is still being serialized must fail fast instead of
1421
1419
  // overflowing the stack.
1422
1420
  func jsonStringifyProgrammer_circular_thrower(context nativecontext.ITypiaContext, functor *nativehelpers.FunctionProgrammer) *shimast.Node {
1423
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, context.Emit)
1421
+ f := nativecontext.NodeFactoryOf(context.Emit)
1424
1422
  return f.NewCallExpression(
1425
1423
  jsonStringifyProgrammer_internal(context, "throwTypeGuardError"),
1426
1424
  nil,
@@ -1447,7 +1445,7 @@ type jsonStringifyProgrammer_throwProps struct {
1447
1445
  }
1448
1446
 
1449
1447
  func jsonStringifyProgrammer_create_throw_error(props jsonStringifyProgrammer_throwProps) *shimast.Node {
1450
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, props.Context.Emit)
1448
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1451
1449
  return f.NewExpressionStatement(
1452
1450
  f.NewCallExpression(
1453
1451
  jsonStringifyProgrammer_internal(props.Context, "throwTypeGuardError"),
@@ -1475,7 +1473,7 @@ type jsonStringifyProgrammer_IUnion struct {
1475
1473
  }
1476
1474
 
1477
1475
  func jsonStringifyProgrammer_binary(left *shimast.Node, operator shimast.Kind, right *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
1478
- f := nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, emit)
1476
+ f := nativecontext.NodeFactoryOf(emit)
1479
1477
  return f.NewBinaryExpression(nil, left, nil, f.NewToken(operator), right)
1480
1478
  }
1481
1479
 
@@ -1483,7 +1481,7 @@ func jsonStringifyProgrammer_internal(context nativecontext.ITypiaContext, name
1483
1481
  if importer := context.Importer; importer != nil {
1484
1482
  return importer.Internal(name)
1485
1483
  }
1486
- return nativecontext.EmitFactoryOf(jsonStringifyProgrammer_factory, context.Emit).NewIdentifier(name)
1484
+ return nativecontext.NodeFactoryOf(context.Emit).NewIdentifier(name)
1487
1485
  }
1488
1486
 
1489
1487
  func jsonStringifyProgrammer_method_text(modulo *shimast.Node) string {
@@ -43,7 +43,7 @@ func (jsonValidateParseProgrammerNamespace) Decompose(props JsonValidateParsePro
43
43
  Name: props.Name,
44
44
  })
45
45
 
46
- f := nativecontext.EmitFactoryOf(jsonParseProgrammer_factory, props.Context.Emit)
46
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
47
47
  return nativeinternal.FeatureProgrammer_IDecomposed{
48
48
  Functions: validate.Functions,
49
49
  Statements: append(append([]*shimast.Node{}, validate.Statements...), nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
@@ -105,7 +105,7 @@ func (jsonValidateParseProgrammerNamespace) Write(props nativecontext.IProgramme
105
105
  Type: props.Type,
106
106
  Name: props.Name,
107
107
  })
108
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
108
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
109
109
  Modulo: props.Modulo,
110
110
  Functor: functor,
111
111
  Result: result,
@@ -30,8 +30,6 @@ type JsonValidateStringifyProgrammer_DecomposeProps struct {
30
30
  Name *string
31
31
  }
32
32
 
33
- var jsonValidateStringifyProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
34
-
35
33
  func (jsonValidateStringifyProgrammerNamespace) Decompose(props JsonValidateStringifyProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
36
34
  validateContext := props.Context
37
35
  functional := false
@@ -53,7 +51,7 @@ func (jsonValidateStringifyProgrammerNamespace) Decompose(props JsonValidateStri
53
51
  Name: props.Name,
54
52
  Validated: true,
55
53
  })
56
- f := nativecontext.EmitFactoryOf(jsonValidateStringifyProgrammer_factory, props.Context.Emit)
54
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
57
55
  statements := append([]*shimast.Node{}, validate.Statements...)
58
56
  statements = append(statements, stringify.Statements...)
59
57
  statements = append(statements,
@@ -126,7 +124,7 @@ func (jsonValidateStringifyProgrammerNamespace) Write(props nativecontext.IProgr
126
124
  Type: props.Type,
127
125
  Name: props.Name,
128
126
  })
129
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
127
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
130
128
  Modulo: props.Modulo,
131
129
  Functor: functor,
132
130
  Result: result,
@@ -36,8 +36,6 @@ type LlmApplicationProgrammer_IWriteProps struct {
36
36
  ConfigArgument *shimast.Node
37
37
  }
38
38
 
39
- var llmApplicationProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
40
-
41
39
  func (llmApplicationProgrammerNamespace) Write(props LlmApplicationProgrammer_IWriteProps) *shimast.Node {
42
40
  application := LlmApplicationProgrammer.WriteApplication(struct {
43
41
  Context nativecontext.ITypiaContext
@@ -52,7 +50,7 @@ func (llmApplicationProgrammerNamespace) Write(props LlmApplicationProgrammer_IW
52
50
  Config: props.Config,
53
51
  Name: props.Name,
54
52
  })
55
- f := nativecontext.EmitFactoryOf(llmApplicationProgrammer_factory, props.Context.Emit)
53
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
56
54
  var arguments []*shimast.TypeNode
57
55
  if props.Name != nil {
58
56
  arguments = []*shimast.TypeNode{llmProgrammer_type_reference(*props.Name, props.Context.Emit)}
@@ -46,14 +46,12 @@ type LlmCoerceProgrammer_IWriteProps struct {
46
46
  Name *string
47
47
  }
48
48
 
49
- var llmCoerceProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
50
-
51
49
  func (llmCoerceProgrammerNamespace) Decompose(props LlmCoerceProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
52
50
  typeName := "unknown"
53
51
  if props.Name != nil {
54
52
  typeName = *props.Name
55
53
  }
56
- f := nativecontext.EmitFactoryOf(llmCoerceProgrammer_factory, props.Context.Emit)
54
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
57
55
  return nativeinternal.FeatureProgrammer_IDecomposed{
58
56
  Functions: map[string]*shimast.Node{},
59
57
  Statements: []*shimast.Node{
@@ -100,7 +98,7 @@ func (llmCoerceProgrammerNamespace) Write(props LlmCoerceProgrammer_IWriteProps)
100
98
  Metadata: props.Metadata,
101
99
  Name: props.Name,
102
100
  })
103
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
101
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
104
102
  Modulo: props.Modulo,
105
103
  Functor: functor,
106
104
  Result: result,
@@ -32,10 +32,8 @@ type LlmControllerProgrammer_IWriteProps struct {
32
32
  ConfigArgument *shimast.Node
33
33
  }
34
34
 
35
- var llmControllerProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
36
-
37
35
  func (llmControllerProgrammerNamespace) Write(props LlmControllerProgrammer_IWriteProps) *shimast.Node {
38
- f := nativecontext.EmitFactoryOf(llmControllerProgrammer_factory, props.Context.Emit)
36
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
39
37
  typeNode := llmProgrammer_import_type(props.Context, nativecontext.ImportProgrammer_TypeProps{
40
38
  File: "typia",
41
39
  Name: "ILlmController",
@@ -66,12 +66,10 @@ type LlmEvaluationProgrammer_IError struct {
66
66
  Message string
67
67
  }
68
68
 
69
- var llmEvaluationProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
70
-
71
69
  // Write emits `_createLlmEvaluation(plan, decimals) as ILlmEvaluation<T>`.
72
70
  // The metadata must already have passed Compose without errors.
73
71
  func (llmEvaluationProgrammerNamespace) Write(props LlmEvaluationProgrammer_IWriteProps, plan []any) *shimast.Node {
74
- f := nativecontext.EmitFactoryOf(llmEvaluationProgrammer_factory, props.Context.Emit)
72
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
75
73
  typeName := "unknown"
76
74
  if props.Name != nil {
77
75
  typeName = *props.Name
@@ -27,10 +27,8 @@ type LlmParametersProgrammer_IWriteProps struct {
27
27
  Config map[string]any
28
28
  }
29
29
 
30
- var llmParametersProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
31
-
32
30
  func (llmParametersProgrammerNamespace) Write(props LlmParametersProgrammer_IWriteProps) *shimast.Node {
33
- f := nativecontext.EmitFactoryOf(llmParametersProgrammer_factory, props.Context.Emit)
31
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
34
32
  typeNode := llmProgrammer_import_type(props.Context, nativecontext.ImportProgrammer_TypeProps{
35
33
  File: "typia",
36
34
  Name: f.NewIdentifier("ILlmSchema.IParameters"),
@@ -47,14 +47,12 @@ type LlmParseProgrammer_IWriteProps struct {
47
47
  Name *string
48
48
  }
49
49
 
50
- var llmParseProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
51
-
52
50
  func (llmParseProgrammerNamespace) Decompose(props LlmParseProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
53
51
  typeName := "unknown"
54
52
  if props.Name != nil {
55
53
  typeName = *props.Name
56
54
  }
57
- f := nativecontext.EmitFactoryOf(llmParseProgrammer_factory, props.Context.Emit)
55
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
58
56
  return nativeinternal.FeatureProgrammer_IDecomposed{
59
57
  Functions: map[string]*shimast.Node{},
60
58
  Statements: []*shimast.Node{
@@ -105,7 +103,7 @@ func (llmParseProgrammerNamespace) Write(props LlmParseProgrammer_IWriteProps) *
105
103
  Metadata: props.Metadata,
106
104
  Name: props.Name,
107
105
  })
108
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
106
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
109
107
  Modulo: props.Modulo,
110
108
  Functor: functor,
111
109
  Result: result,
@@ -131,6 +129,6 @@ func (llmParseProgrammerNamespace) Validate(props struct {
131
129
  func ImportTypeIParameters(emit ...*shimprinter.EmitContext) nativecontext.ImportProgrammer_TypeProps {
132
130
  return nativecontext.ImportProgrammer_TypeProps{
133
131
  File: "typia",
134
- Name: nativecontext.EmitFactoryOf(llmParseProgrammer_factory, emit...).NewIdentifier("ILlmSchema.IParameters"),
132
+ Name: nativecontext.NodeFactoryOf(emit...).NewIdentifier("ILlmSchema.IParameters"),
135
133
  }
136
134
  }
@@ -49,8 +49,6 @@ type LlmSchemaProgrammer_IWriteProps struct {
49
49
  Config map[string]any
50
50
  }
51
51
 
52
- var llmSchemaProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
53
-
54
52
  func (llmSchemaProgrammerNamespace) Write(props LlmSchemaProgrammer_IWriteProps) *shimast.Node {
55
53
  output := LlmSchemaProgrammer.WriteSchema(struct {
56
54
  Metadata *schemametadata.MetadataSchema
@@ -59,7 +57,7 @@ func (llmSchemaProgrammerNamespace) Write(props LlmSchemaProgrammer_IWriteProps)
59
57
  Metadata: props.Metadata,
60
58
  Config: props.Config,
61
59
  })
62
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, props.Context.Emit)
60
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
63
61
  schemaTypeNode := llmProgrammer_import_type(props.Context, nativecontext.ImportProgrammer_TypeProps{
64
62
  File: "typia",
65
63
  Name: "ILlmSchema",
@@ -106,7 +104,7 @@ func (llmSchemaProgrammerNamespace) Write(props LlmSchemaProgrammer_IWriteProps)
106
104
  }
107
105
 
108
106
  func llmSchemaProgrammer_record_type(schemaTypeNode *shimast.Node, emit ...*shimprinter.EmitContext) *shimast.Node {
109
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, emit...)
107
+ f := nativecontext.NodeFactoryOf(emit...)
110
108
  return f.NewTypeReferenceNode(
111
109
  f.NewIdentifier("Record"),
112
110
  f.NewNodeList([]*shimast.Node{
@@ -910,7 +908,7 @@ func llmProgrammer_internal(context nativecontext.ITypiaContext, name string) *s
910
908
  if importer := context.Importer; importer != nil {
911
909
  return importer.Internal(name)
912
910
  }
913
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, context.Emit)
911
+ f := nativecontext.NodeFactoryOf(context.Emit)
914
912
  return f.NewIdentifier(name)
915
913
  }
916
914
 
@@ -918,7 +916,7 @@ func llmProgrammer_import_type(context nativecontext.ITypiaContext, props native
918
916
  if importer := context.Importer; importer != nil {
919
917
  return importer.Type(props)
920
918
  }
921
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, context.Emit)
919
+ f := nativecontext.NodeFactoryOf(context.Emit)
922
920
  if str, ok := props.Name.(string); ok {
923
921
  return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
924
922
  }
@@ -929,7 +927,7 @@ func llmProgrammer_type_reference(name string, emit ...*shimprinter.EmitContext)
929
927
  if name == "" {
930
928
  name = "unknown"
931
929
  }
932
- f := nativecontext.EmitFactoryOf(llmSchemaProgrammer_factory, emit...)
930
+ f := nativecontext.NodeFactoryOf(emit...)
933
931
  return f.NewTypeReferenceNode(f.NewIdentifier(name), nil)
934
932
  }
935
933
 
@@ -32,8 +32,6 @@ type LlmStructuredOutputProgrammer_IWriteProps struct {
32
32
  Name *string
33
33
  }
34
34
 
35
- var llmStructuredOutputProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
36
-
37
35
  func (llmStructuredOutputProgrammerNamespace) Write(props LlmStructuredOutputProgrammer_IWriteProps) *shimast.Node {
38
36
  functor := nativehelpers.NewFunctionProgrammer(llmProgrammer_method_text(props.Modulo), props.Context.Emit)
39
37
  equals := false
@@ -54,7 +52,7 @@ func (llmStructuredOutputProgrammerNamespace) Write(props LlmStructuredOutputPro
54
52
  if props.Name != nil {
55
53
  typeName = *props.Name
56
54
  }
57
- f := nativecontext.EmitFactoryOf(llmStructuredOutputProgrammer_factory, props.Context.Emit)
55
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
58
56
  statements := []*shimast.Node{
59
57
  nativefactories.StatementFactory.Constant(nativefactories.StatementFactory_ConstantProps{
60
58
  Name: "__parameters",
@@ -130,7 +128,7 @@ func (llmStructuredOutputProgrammerNamespace) Write(props LlmStructuredOutputPro
130
128
  }),
131
129
  ),
132
130
  }
133
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
131
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
134
132
  Modulo: props.Modulo,
135
133
  Functor: functor,
136
134
  Result: result,
@@ -240,7 +240,7 @@ func TestLlmSchemaProgrammerCoverage(t *testing.T) {
240
240
  if llmProgrammer_internal(nativecontext.ITypiaContext{}, "fallback") == nil {
241
241
  t.Fatal("internal fallback should create an identifier")
242
242
  }
243
- nodeName := llmSchemaProgrammer_factory.NewIdentifier("DirectName")
243
+ nodeName := nativecontext.NodeFactoryOf().NewIdentifier("DirectName")
244
244
  if llmProgrammer_import_type(nativecontext.ITypiaContext{}, nativecontext.ImportProgrammer_TypeProps{Name: nodeName}) != nodeName {
245
245
  t.Fatal("node type imports should be returned directly")
246
246
  }
@@ -53,10 +53,8 @@ type NotationAssertGeneralProgrammer_DecomposeProps struct {
53
53
  Init *shimast.Node
54
54
  }
55
55
 
56
- var notationAssertGeneralProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
57
-
58
56
  func (notationAssertGeneralProgrammerNamespace) Decompose(props NotationAssertGeneralProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
59
- f := nativecontext.EmitFactoryOf(notationAssertGeneralProgrammer_factory, props.Context.Emit)
57
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
60
58
  assert := nativeprogrammers.AssertProgrammer.Decompose(nativeprogrammers.AssertProgrammer_DecomposeProps{
61
59
  Context: props.Context,
62
60
  Functor: props.Functor,