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
@@ -101,10 +101,8 @@ type NotationGeneralProgrammer_DecomposeProps struct {
101
101
 
102
102
  const notationGeneralProgrammer_PREFIX = "_c"
103
103
 
104
- var notationGeneralProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
105
-
106
104
  func (notationGeneralProgrammerNamespace) ReturnType(props NotationGeneralProgrammer_ReturnTypeProps) *shimast.Node {
107
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
105
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
108
106
  return notationGeneralProgrammer_import_type(props.Context, nativecontext.ImportProgrammer_TypeProps{
109
107
  File: "typia",
110
108
  Name: notationGeneralProgrammer_capitalize(props.Rename.Name) + "Case",
@@ -115,7 +113,7 @@ func (notationGeneralProgrammerNamespace) ReturnType(props NotationGeneralProgra
115
113
  }
116
114
 
117
115
  func (notationGeneralProgrammerNamespace) Decompose(props NotationGeneralProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
118
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
116
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
119
117
  config := notationGeneralProgrammer_configure(struct {
120
118
  Rename NotationGeneralProgrammer_IRename
121
119
  Context nativecontext.ITypiaContext
@@ -180,7 +178,7 @@ func notationGeneralProgrammer_write_array_functions(props struct {
180
178
  Functor *nativehelpers.FunctionProgrammer
181
179
  Collection *schemametadata.MetadataCollection
182
180
  }) []*shimast.Node {
183
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
181
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
184
182
  output := []*shimast.Node{}
185
183
  for _, typ := range props.Collection.Arrays() {
186
184
  if typ.Recursive == false {
@@ -195,7 +193,7 @@ func notationGeneralProgrammer_write_array_functions(props struct {
195
193
  Value: f.NewArrowFunction(
196
194
  nil,
197
195
  nil,
198
- f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
196
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{Emit: props.Context.Emit,
199
197
  Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
200
198
  Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
201
199
  Input: f.NewIdentifier("input"),
@@ -237,7 +235,7 @@ func notationGeneralProgrammer_write_tuple_functions(props struct {
237
235
  Functor *nativehelpers.FunctionProgrammer
238
236
  Collection *schemametadata.MetadataCollection
239
237
  }) []*shimast.Node {
240
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
238
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
241
239
  output := []*shimast.Node{}
242
240
  for _, tuple := range props.Collection.Tuples() {
243
241
  if tuple.Recursive == false {
@@ -252,7 +250,7 @@ func notationGeneralProgrammer_write_tuple_functions(props struct {
252
250
  Value: f.NewArrowFunction(
253
251
  nil,
254
252
  nil,
255
- f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
253
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{Emit: props.Context.Emit,
256
254
  Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
257
255
  Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
258
256
  Input: f.NewIdentifier("input"),
@@ -294,7 +292,7 @@ func notationGeneralProgrammer_decode(props struct {
294
292
  Explore nativeinternal.FeatureProgrammer_IExplore
295
293
  Input *shimast.Node
296
294
  }) *shimast.Node {
297
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
295
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
298
296
  if props.Metadata.Any ||
299
297
  notationGeneralProgrammer_some_arrays(props.Metadata.Arrays, func(a *schemametadata.MetadataArray) bool { return a.Type.Value.Any }) ||
300
298
  notationGeneralProgrammer_some_tuples(props.Metadata.Tuples, func(t *schemametadata.MetadataTuple) bool {
@@ -525,7 +523,7 @@ type notationGeneralProgrammer_decodeArrayProps struct {
525
523
  }
526
524
 
527
525
  func notationGeneralProgrammer_decode_array(props notationGeneralProgrammer_decodeArrayProps) *shimast.Node {
528
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
526
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
529
527
  if props.Array.Type.Recursive {
530
528
  index := 0
531
529
  if props.Array.Type.Index != nil {
@@ -535,7 +533,7 @@ func notationGeneralProgrammer_decode_array(props notationGeneralProgrammer_deco
535
533
  f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%sa%d", props.Config.Prefix, index))),
536
534
  nil,
537
535
  nil,
538
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
536
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
539
537
  Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
540
538
  Explore: notationGeneralProgrammer_explore_with(props.Explore, "function", "array"),
541
539
  Input: props.Input,
@@ -547,7 +545,7 @@ func notationGeneralProgrammer_decode_array(props notationGeneralProgrammer_deco
547
545
  }
548
546
 
549
547
  func notationGeneralProgrammer_decode_array_inline(props notationGeneralProgrammer_decodeArrayProps) *shimast.Node {
550
- return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{
548
+ return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{Emit: props.Context.Emit,
551
549
  Config: nativeinternal.FeatureProgrammer_DecodeArrayConfig{
552
550
  Trace: props.Config.Trace,
553
551
  Path: props.Config.Path,
@@ -582,7 +580,7 @@ type notationGeneralProgrammer_decodeTupleProps struct {
582
580
  }
583
581
 
584
582
  func notationGeneralProgrammer_decode_tuple(props notationGeneralProgrammer_decodeTupleProps) *shimast.Node {
585
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
583
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
586
584
  if props.Tuple.Type.Recursive {
587
585
  index := 0
588
586
  if props.Tuple.Type.Index != nil {
@@ -592,7 +590,7 @@ func notationGeneralProgrammer_decode_tuple(props notationGeneralProgrammer_deco
592
590
  f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%st%d", props.Config.Prefix, index))),
593
591
  nil,
594
592
  nil,
595
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
593
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
596
594
  Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
597
595
  Explore: notationGeneralProgrammer_explore_with(props.Explore, "function", props.Explore.From),
598
596
  Input: props.Input,
@@ -622,7 +620,7 @@ type notationGeneralProgrammer_decodeTupleInlineProps struct {
622
620
  }
623
621
 
624
622
  func notationGeneralProgrammer_decode_tuple_inline(props notationGeneralProgrammer_decodeTupleInlineProps) *shimast.Node {
625
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
623
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
626
624
  elements := []*shimast.Node{}
627
625
  for index, elem := range props.Tuple.Elements {
628
626
  if elem.Rest != nil {
@@ -696,7 +694,7 @@ func notationGeneralProgrammer_decode_native(props struct {
696
694
  Name string
697
695
  Input *shimast.Node
698
696
  }, emit ...*shimprinter.EmitContext) *shimast.Node {
699
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, emit...)
697
+ f := nativecontext.NodeFactoryOf(emit...)
700
698
  if props.Name == "Date" {
701
699
  return f.NewNewExpression(
702
700
  f.NewIdentifier(props.Name),
@@ -717,7 +715,7 @@ type notationGeneralProgrammer_exploreSetsProps struct {
717
715
  }
718
716
 
719
717
  func notationGeneralProgrammer_explore_sets(props notationGeneralProgrammer_exploreSetsProps) *shimast.Node {
720
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
718
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
721
719
  return f.NewCallExpression(
722
720
  nativehelpers.UnionExplorer.Set(nativehelpers.UnionExplorer_SetProps{
723
721
  Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
@@ -784,7 +782,7 @@ type notationGeneralProgrammer_exploreMapsProps struct {
784
782
  }
785
783
 
786
784
  func notationGeneralProgrammer_explore_maps(props notationGeneralProgrammer_exploreMapsProps) *shimast.Node {
787
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
785
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
788
786
  return f.NewCallExpression(
789
787
  nativehelpers.UnionExplorer.Map(nativehelpers.UnionExplorer_MapProps{
790
788
  Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
@@ -866,7 +864,7 @@ type notationGeneralProgrammer_exploreObjectsProps struct {
866
864
  }
867
865
 
868
866
  func notationGeneralProgrammer_explore_objects(props notationGeneralProgrammer_exploreObjectsProps) *shimast.Node {
869
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
867
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
870
868
  if len(props.Metadata.Objects) == 1 {
871
869
  return notationGeneralProgrammer_decode_object(struct {
872
870
  Functor *nativehelpers.FunctionProgrammer
@@ -883,7 +881,7 @@ func notationGeneralProgrammer_explore_objects(props notationGeneralProgrammer_e
883
881
  f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%su%d", notationGeneralProgrammer_PREFIX, index))),
884
882
  nil,
885
883
  nil,
886
- f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
884
+ f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
887
885
  Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
888
886
  Explore: props.Explore,
889
887
  Input: props.Input,
@@ -902,7 +900,7 @@ type notationGeneralProgrammer_exploreArraysProps struct {
902
900
  }
903
901
 
904
902
  func notationGeneralProgrammer_explore_arrays(props notationGeneralProgrammer_exploreArraysProps) *shimast.Node {
905
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
903
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
906
904
  return notationGeneralProgrammer_explore_array_like_union_types(notationGeneralProgrammer_exploreArrayLikeUnionTypesProps[*schemametadata.MetadataArray]{
907
905
  Context: props.Context,
908
906
  Config: props.Config,
@@ -975,7 +973,7 @@ type notationGeneralProgrammer_exploreArrayLikeUnionTypesProps[T interface {
975
973
  func notationGeneralProgrammer_explore_array_like_union_types[T interface {
976
974
  *schemametadata.MetadataArray | *schemametadata.MetadataTuple
977
975
  }](props notationGeneralProgrammer_exploreArrayLikeUnionTypesProps[T]) *shimast.Node {
978
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
976
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
979
977
  arrow := func(next struct {
980
978
  Parameters []*shimast.Node
981
979
  Explore nativeinternal.FeatureProgrammer_IExplore
@@ -1025,7 +1023,7 @@ func notationGeneralProgrammer_configure(props struct {
1025
1023
  Context nativecontext.ITypiaContext
1026
1024
  Functor *nativehelpers.FunctionProgrammer
1027
1025
  }) nativeinternal.FeatureProgrammer_IConfig {
1028
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
1026
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1029
1027
  var config nativeinternal.FeatureProgrammer_IConfig
1030
1028
  config = nativeinternal.FeatureProgrammer_IConfig{
1031
1029
  Types: nativeinternal.FeatureProgrammer_IConfig_ITypes{
@@ -1105,7 +1103,7 @@ func notationGeneralProgrammer_configure(props struct {
1105
1103
  })
1106
1104
  },
1107
1105
  Unionizer: func(next nativeinternal.FeatureProgrammer_ObjectorUnionizerProps) *shimast.Node {
1108
- return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
1106
+ return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{Emit: props.Context.Emit,
1109
1107
  Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
1110
1108
  return nativeprogrammers.IsProgrammer.Decode_object(nativeprogrammers.IsProgrammer_DecodeObjectProps{
1111
1109
  Context: props.Context,
@@ -1209,7 +1207,7 @@ type notationGeneralProgrammer_throwProps struct {
1209
1207
  }
1210
1208
 
1211
1209
  func notationGeneralProgrammer_create_throw_error(props notationGeneralProgrammer_throwProps) *shimast.Node {
1212
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, props.Context.Emit)
1210
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
1213
1211
  return f.NewExpressionStatement(
1214
1212
  f.NewCallExpression(
1215
1213
  notationGeneralProgrammer_internal(props.Context, "throwTypeGuardError"),
@@ -1247,7 +1245,7 @@ type notationGeneralProgrammer_IUnion struct {
1247
1245
  }
1248
1246
 
1249
1247
  func notationGeneralProgrammer_binary(left *shimast.Node, operator shimast.Kind, right *shimast.Node, emit ...*shimprinter.EmitContext) *shimast.Node {
1250
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, emit...)
1248
+ f := nativecontext.NodeFactoryOf(emit...)
1251
1249
  return f.NewBinaryExpression(nil, left, nil, f.NewToken(operator), right)
1252
1250
  }
1253
1251
 
@@ -1255,7 +1253,7 @@ func notationGeneralProgrammer_internal(context nativecontext.ITypiaContext, nam
1255
1253
  if importer := context.Importer; importer != nil {
1256
1254
  return importer.Internal(name)
1257
1255
  }
1258
- return nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, context.Emit).NewIdentifier(name)
1256
+ return nativecontext.NodeFactoryOf(context.Emit).NewIdentifier(name)
1259
1257
  }
1260
1258
 
1261
1259
  func notationGeneralProgrammer_import_type(context nativecontext.ITypiaContext, props nativecontext.ImportProgrammer_TypeProps) *shimast.Node {
@@ -1263,7 +1261,7 @@ func notationGeneralProgrammer_import_type(context nativecontext.ITypiaContext,
1263
1261
  return importer.Type(props)
1264
1262
  }
1265
1263
  if str, ok := props.Name.(string); ok {
1266
- f := nativecontext.EmitFactoryOf(notationGeneralProgrammer_factory, context.Emit)
1264
+ f := nativecontext.NodeFactoryOf(context.Emit)
1267
1265
  return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
1268
1266
  }
1269
1267
  return props.Name.(*shimast.Node)
@@ -50,10 +50,8 @@ type NotationIsGeneralProgrammer_DecomposeProps struct {
50
50
  Name *string
51
51
  }
52
52
 
53
- var notationIsGeneralProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
54
-
55
53
  func (notationIsGeneralProgrammerNamespace) Decompose(props NotationIsGeneralProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
56
- f := nativecontext.EmitFactoryOf(notationIsGeneralProgrammer_factory, props.Context.Emit)
54
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
57
55
  is := nativeprogrammers.IsProgrammer.Decompose(nativeprogrammers.IsProgrammer_DecomposeProps{
58
56
  Context: props.Context,
59
57
  Functor: props.Functor,
@@ -53,10 +53,8 @@ type NotationValidateGeneralProgrammer_DecomposeProps struct {
53
53
  Name *string
54
54
  }
55
55
 
56
- var notationValidateGeneralProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
57
-
58
56
  func (notationValidateGeneralProgrammerNamespace) Decompose(props NotationValidateGeneralProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
59
- f := nativecontext.EmitFactoryOf(notationValidateGeneralProgrammer_factory, props.Context.Emit)
57
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
60
58
  validate := nativeprogrammers.ValidateProgrammer.Decompose(nativeprogrammers.ValidateProgrammer_DecomposeProps{
61
59
  Context: props.Context,
62
60
  Modulo: props.Modulo,
@@ -45,10 +45,8 @@ type PlainAssertClassifyProgrammer_DecomposeProps struct {
45
45
  Modulo *shimast.Node
46
46
  }
47
47
 
48
- var plainAssertClassifyProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
49
-
50
48
  func (plainAssertClassifyProgrammerNamespace) Decompose(props PlainAssertClassifyProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
51
- f := nativecontext.EmitFactoryOf(plainAssertClassifyProgrammer_factory, props.Context.Emit)
49
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
52
50
  // For a class-TYPE target (typeof C) the input is the from/new SEED or the
53
51
  // field-copy instance shape — NOT typeof C's static members. Validate against
54
52
  // that redirected type so a legitimate seed is accepted and the static side is
@@ -123,7 +121,7 @@ func (plainAssertClassifyProgrammerNamespace) Write(props nativecontext.IProgram
123
121
  Init: props.Init,
124
122
  Modulo: props.Modulo,
125
123
  })
126
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
124
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
127
125
  Modulo: props.Modulo,
128
126
  Functor: functor,
129
127
  Result: result,
@@ -41,10 +41,8 @@ type PlainAssertCloneProgrammer_DecomposeProps struct {
41
41
  Init *shimast.Node
42
42
  }
43
43
 
44
- var plainAssertCloneProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
45
-
46
44
  func (plainAssertCloneProgrammerNamespace) Decompose(props PlainAssertCloneProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
47
- f := nativecontext.EmitFactoryOf(plainAssertCloneProgrammer_factory, props.Context.Emit)
45
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
48
46
  assert := nativeprogrammers.AssertProgrammer.Decompose(nativeprogrammers.AssertProgrammer_DecomposeProps{
49
47
  Context: props.Context,
50
48
  Functor: props.Functor,
@@ -113,7 +111,7 @@ func (plainAssertCloneProgrammerNamespace) Write(props nativecontext.IProgrammer
113
111
  Name: props.Name,
114
112
  Init: props.Init,
115
113
  })
116
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
114
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
117
115
  Modulo: props.Modulo,
118
116
  Functor: functor,
119
117
  Result: result,
@@ -41,10 +41,8 @@ type PlainAssertPruneProgrammer_DecomposeProps struct {
41
41
  Init *shimast.Node
42
42
  }
43
43
 
44
- var plainAssertPruneProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
45
-
46
44
  func (plainAssertPruneProgrammerNamespace) Decompose(props PlainAssertPruneProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
47
- f := nativecontext.EmitFactoryOf(plainAssertPruneProgrammer_factory, props.Context.Emit)
45
+ f := nativecontext.NodeFactoryOf(props.Context.Emit)
48
46
  assert := nativeprogrammers.AssertProgrammer.Decompose(nativeprogrammers.AssertProgrammer_DecomposeProps{
49
47
  Context: props.Context,
50
48
  Functor: props.Functor,
@@ -128,7 +126,7 @@ func (plainAssertPruneProgrammerNamespace) Write(props nativecontext.IProgrammer
128
126
  Name: props.Name,
129
127
  Init: props.Init,
130
128
  })
131
- return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
129
+ return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
132
130
  Modulo: props.Modulo,
133
131
  Functor: functor,
134
132
  Result: result,