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.
- package/lib/TypeGuardError.js.map +1 -1
- package/lib/basic.js.map +1 -1
- package/lib/compare.js.map +1 -1
- package/lib/functional.js.map +1 -1
- package/lib/http.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internal/_IProtobufWriter.js.map +1 -1
- package/lib/internal/_ProtobufReader.js.map +1 -1
- package/lib/internal/_ProtobufSizer.js.map +1 -1
- package/lib/internal/_ProtobufWriter.js.map +1 -1
- package/lib/internal/_accessExpressionAsString.js.map +1 -1
- package/lib/internal/_assertGuard.js.map +1 -1
- package/lib/internal/_coerceLlmArguments.js.map +1 -1
- package/lib/internal/_createLlmEvaluation.js.map +1 -1
- package/lib/internal/_createStandardSchema.js.map +1 -1
- package/lib/internal/_decimal.js.map +1 -1
- package/lib/internal/_functionalTypeGuardErrorFactory.js.map +1 -1
- package/lib/internal/_httpFormDataReadArray.js.map +1 -1
- package/lib/internal/_httpFormDataReadBigint.js.map +1 -1
- package/lib/internal/_httpFormDataReadBlob.js.map +1 -1
- package/lib/internal/_httpFormDataReadBoolean.js.map +1 -1
- package/lib/internal/_httpFormDataReadFile.js.map +1 -1
- package/lib/internal/_httpFormDataReadNumber.js.map +1 -1
- package/lib/internal/_httpFormDataReadString.js.map +1 -1
- package/lib/internal/_httpHeaderReadBigint.js.map +1 -1
- package/lib/internal/_httpHeaderReadBoolean.js.map +1 -1
- package/lib/internal/_httpHeaderReadNumber.js.map +1 -1
- package/lib/internal/_httpParameterReadBigint.js.map +1 -1
- package/lib/internal/_httpParameterReadBoolean.js.map +1 -1
- package/lib/internal/_httpParameterReadNumber.js.map +1 -1
- package/lib/internal/_httpParameterReadString.js.map +1 -1
- package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
- package/lib/internal/_httpQueryReadArray.js.map +1 -1
- package/lib/internal/_httpQueryReadBigint.js.map +1 -1
- package/lib/internal/_httpQueryReadBoolean.js.map +1 -1
- package/lib/internal/_httpQueryReadNumber.js.map +1 -1
- package/lib/internal/_httpQueryReadString.js.map +1 -1
- package/lib/internal/_isBetween.js.map +1 -1
- package/lib/internal/_isBigintString.js.map +1 -1
- package/lib/internal/_isFormatByte.js.map +1 -1
- package/lib/internal/_isFormatDate.js.map +1 -1
- package/lib/internal/_isFormatDateTime.js.map +1 -1
- package/lib/internal/_isFormatDuration.js.map +1 -1
- package/lib/internal/_isFormatEmail.js.map +1 -1
- package/lib/internal/_isFormatHostname.js.map +1 -1
- package/lib/internal/_isFormatIdnEmail.js.map +1 -1
- package/lib/internal/_isFormatIdnHostname.js.map +1 -1
- package/lib/internal/_isFormatIpv4.js.map +1 -1
- package/lib/internal/_isFormatIpv6.js.map +1 -1
- package/lib/internal/_isFormatIri.js.map +1 -1
- package/lib/internal/_isFormatIriReference.js.map +1 -1
- package/lib/internal/_isFormatJsonPointer.js.map +1 -1
- package/lib/internal/_isFormatPassword.js.map +1 -1
- package/lib/internal/_isFormatRegex.js.map +1 -1
- package/lib/internal/_isFormatRelativeJsonPointer.js.map +1 -1
- package/lib/internal/_isFormatTime.js.map +1 -1
- package/lib/internal/_isFormatUri.js.map +1 -1
- package/lib/internal/_isFormatUriReference.js.map +1 -1
- package/lib/internal/_isFormatUriTemplate.js.map +1 -1
- package/lib/internal/_isFormatUrl.js.map +1 -1
- package/lib/internal/_isFormatUuid.js.map +1 -1
- package/lib/internal/_isMultipleOf.js.map +1 -1
- package/lib/internal/_isTypeFloat.js.map +1 -1
- package/lib/internal/_isTypeInt16.js.map +1 -1
- package/lib/internal/_isTypeInt32.js.map +1 -1
- package/lib/internal/_isTypeInt64.js.map +1 -1
- package/lib/internal/_isTypeInt64Bigint.js.map +1 -1
- package/lib/internal/_isTypeInt8.js.map +1 -1
- package/lib/internal/_isTypeUint16.js.map +1 -1
- package/lib/internal/_isTypeUint32.js.map +1 -1
- package/lib/internal/_isTypeUint64.js.map +1 -1
- package/lib/internal/_isTypeUint64Bigint.js.map +1 -1
- package/lib/internal/_isTypeUint8.js.map +1 -1
- package/lib/internal/_isUniqueItems.js.map +1 -1
- package/lib/internal/_jsonStringifyArray.js.map +1 -1
- package/lib/internal/_jsonStringifyElement.js.map +1 -1
- package/lib/internal/_jsonStringifyNumber.js.map +1 -1
- package/lib/internal/_jsonStringifyProperty.js.map +1 -1
- package/lib/internal/_jsonStringifyRest.js.map +1 -1
- package/lib/internal/_jsonStringifyString.js.map +1 -1
- package/lib/internal/_jsonStringifyTail.js.map +1 -1
- package/lib/internal/_llmApplicationFinalize.js +8 -1
- package/lib/internal/_llmApplicationFinalize.js.map +1 -1
- package/lib/internal/_notationAny.js.map +1 -1
- package/lib/internal/_notationAssign.js.map +1 -1
- package/lib/internal/_notationCamel.js.map +1 -1
- package/lib/internal/_notationKebab.js.map +1 -1
- package/lib/internal/_notationKeyCollision.js.map +1 -1
- package/lib/internal/_notationPascal.js.map +1 -1
- package/lib/internal/_notationSnake.js.map +1 -1
- package/lib/internal/_parseLlmArguments.js.map +1 -1
- package/lib/internal/_plainCloneAny.js.map +1 -1
- package/lib/internal/_randomArray.js.map +1 -1
- package/lib/internal/_randomBigint.js.map +1 -1
- package/lib/internal/_randomBoolean.js.map +1 -1
- package/lib/internal/_randomFormatByte.js.map +1 -1
- package/lib/internal/_randomFormatDate.js.map +1 -1
- package/lib/internal/_randomFormatDatetime.js.map +1 -1
- package/lib/internal/_randomFormatDuration.js.map +1 -1
- package/lib/internal/_randomFormatEmail.js.map +1 -1
- package/lib/internal/_randomFormatHostname.js.map +1 -1
- package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
- package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
- package/lib/internal/_randomFormatIpv4.js.map +1 -1
- package/lib/internal/_randomFormatIpv6.js.map +1 -1
- package/lib/internal/_randomFormatIri.js.map +1 -1
- package/lib/internal/_randomFormatIriReference.js.map +1 -1
- package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
- package/lib/internal/_randomFormatPassword.js.map +1 -1
- package/lib/internal/_randomFormatRegex.js.map +1 -1
- package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
- package/lib/internal/_randomFormatTime.js.map +1 -1
- package/lib/internal/_randomFormatUri.js.map +1 -1
- package/lib/internal/_randomFormatUriReference.js.map +1 -1
- package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
- package/lib/internal/_randomFormatUrl.js.map +1 -1
- package/lib/internal/_randomFormatUuid.js.map +1 -1
- package/lib/internal/_randomInteger.js.map +1 -1
- package/lib/internal/_randomMultiple.js.map +1 -1
- package/lib/internal/_randomNumber.js.map +1 -1
- package/lib/internal/_randomPattern.js.map +1 -1
- package/lib/internal/_randomPick.js.map +1 -1
- package/lib/internal/_randomString.js.map +1 -1
- package/lib/internal/_randomStringLength.js.map +1 -1
- package/lib/internal/_stringLength.js.map +1 -1
- package/lib/internal/_stringLengthGte.js.map +1 -1
- package/lib/internal/_stringLengthLte.js.map +1 -1
- package/lib/internal/_throwTypeGuardError.js.map +1 -1
- package/lib/internal/_validateReport.js.map +1 -1
- package/lib/internal/private/__notationRename.js.map +1 -1
- package/lib/internal/private/__randomComposition.js.map +1 -1
- package/lib/internal/private/__randomEpoch.js.map +1 -1
- package/lib/json.js.map +1 -1
- package/lib/llm.js.map +1 -1
- package/lib/module.js.map +1 -1
- package/lib/notations.js.map +1 -1
- package/lib/plain.js.map +1 -1
- package/lib/protobuf.js.map +1 -1
- package/lib/re-exports.js.map +1 -1
- package/lib/reflect.js.map +1 -1
- package/lib/transform.d.ts +5 -2
- package/lib/transform.js +6 -2
- package/lib/transform.js.map +1 -1
- package/lib/transform.mjs +7 -3
- package/lib/transform.mjs.map +1 -1
- package/lib/transformers/NoTransformConfigurationError.js.map +1 -1
- package/native/cmd/ttsc-typia/build.go +3 -1
- package/native/cmd/ttsc-typia/content_mapper_transform_ts71_test.go +102 -0
- package/native/cmd/ttsc-typia/diagnostics.go +1 -1
- package/native/cmd/ttsc-typia/distinct_programs_concurrent_emit_test.go +167 -0
- package/native/cmd/ttsc-typia/exact_optional_family_emission_contract_test.go +2 -1
- package/native/cmd/ttsc-typia/project_dependencies_heritage_forms_transform_test.go +84 -0
- package/native/cmd/ttsc-typia/schema_literal_helpers_test.go +2 -1
- package/native/cmd/ttsc-typia/transform.go +7 -6
- package/native/core/context/EmitFactory.go +20 -29
- package/native/core/context/ImportProgrammer.go +5 -7
- package/native/core/context/NodeFactory.go +25 -0
- package/native/core/context/node_factory_ownership_test.go +45 -0
- package/native/core/factories/ExpressionFactory.go +13 -14
- package/native/core/factories/IdentifierFactory.go +3 -5
- package/native/core/factories/LiteralFactory.go +6 -8
- package/native/core/factories/NumericRangeFactory.go +8 -10
- package/native/core/factories/StatementFactory.go +5 -7
- package/native/core/factories/TemplateFactory.go +1 -3
- package/native/core/factories/TypeFactory.go +7 -9
- package/native/core/factories/ValueFactory.go +5 -7
- package/native/core/factories/factory_utility_coverage_test.go +21 -20
- package/native/core/factories/internal/metadata/MetadataHelper.go +13 -13
- package/native/core/factories/internal/metadata/comment_tags_coverage_test.go +7 -16
- package/native/core/factories/internal/metadata/emplace_metadata_object.go +36 -27
- package/native/core/factories/internal/metadata/iterate_metadata_alias.go +2 -2
- package/native/core/factories/internal/metadata/iterate_metadata_constant.go +4 -4
- package/native/core/factories/internal/metadata/iterate_metadata_function.go +2 -2
- package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +11 -11
- package/native/core/factories/internal/metadata/js_doc_link_text_test.go +6 -16
- package/native/core/factories/internal/metadata/js_doc_parameter_name_reads_qualified_name_test.go +2 -1
- package/native/core/factories/internal/metadata/js_doc_source_helpers_test.go +44 -0
- package/native/core/factories/internal/metadata/js_doc_type_tag_blank_separation_test.go +16 -22
- package/native/core/factories/numeric_range_factory_enforces_64bit_bounds_test.go +2 -1
- package/native/core/programmers/AssertProgrammer.go +16 -18
- package/native/core/programmers/IsProgrammer.go +10 -12
- package/native/core/programmers/RandomProgrammer.go +29 -31
- package/native/core/programmers/ValidateProgrammer.go +20 -22
- package/native/core/programmers/compare/CompareEqualProgrammer.go +1 -3
- package/native/core/programmers/compare/CompareLessProgrammer.go +1 -3
- package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +3 -5
- package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +8 -10
- package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +4 -6
- package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +2 -2
- package/native/core/programmers/helpers/ClassifyJoiner.go +1 -3
- package/native/core/programmers/helpers/CloneJoiner.go +8 -14
- package/native/core/programmers/helpers/FunctionProgrammer.go +3 -5
- package/native/core/programmers/helpers/NotationJoiner.go +6 -12
- package/native/core/programmers/helpers/PruneJoiner.go +10 -12
- package/native/core/programmers/helpers/RandomJoiner.go +5 -7
- package/native/core/programmers/helpers/StringifyJoinder.go +15 -17
- package/native/core/programmers/helpers/UnionExplorer.go +24 -26
- package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +2 -4
- package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +1 -1
- package/native/core/programmers/http/HttpAssertQueryProgrammer.go +1 -1
- package/native/core/programmers/http/HttpFormDataProgrammer.go +9 -11
- package/native/core/programmers/http/HttpHeadersProgrammer.go +7 -9
- package/native/core/programmers/http/HttpIsFormDataProgrammer.go +2 -4
- package/native/core/programmers/http/HttpIsHeadersProgrammer.go +1 -1
- package/native/core/programmers/http/HttpIsQueryProgrammer.go +1 -1
- package/native/core/programmers/http/HttpParameterProgrammer.go +2 -4
- package/native/core/programmers/http/HttpQueryProgrammer.go +8 -10
- package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +2 -4
- package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +1 -1
- package/native/core/programmers/http/HttpValidateQueryProgrammer.go +1 -1
- package/native/core/programmers/internal/CheckerProgrammer.go +26 -28
- package/native/core/programmers/internal/FeatureProgrammer.go +32 -34
- package/native/core/programmers/iterate/check_array_length.go +1 -1
- package/native/core/programmers/iterate/check_bigint.go +2 -4
- package/native/core/programmers/iterate/check_dynamic_key.go +5 -7
- package/native/core/programmers/iterate/check_dynamic_properties.go +43 -57
- package/native/core/programmers/iterate/check_everything.go +3 -5
- package/native/core/programmers/iterate/check_exclude.go +2 -4
- package/native/core/programmers/iterate/check_native.go +2 -4
- package/native/core/programmers/iterate/check_number.go +2 -4
- package/native/core/programmers/iterate/check_object.go +3 -5
- package/native/core/programmers/iterate/check_object_type_tags.go +1 -1
- package/native/core/programmers/iterate/check_string.go +2 -4
- package/native/core/programmers/iterate/check_template.go +7 -9
- package/native/core/programmers/iterate/decode_union_object.go +2 -4
- package/native/core/programmers/iterate/feature_object_entries.go +2 -4
- package/native/core/programmers/json/JsonAssertParseProgrammer.go +2 -2
- package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +2 -4
- package/native/core/programmers/json/JsonIsParseProgrammer.go +4 -6
- package/native/core/programmers/json/JsonIsStringifyProgrammer.go +2 -4
- package/native/core/programmers/json/JsonStringifyProgrammer.go +37 -39
- package/native/core/programmers/json/JsonValidateParseProgrammer.go +2 -2
- package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +2 -4
- package/native/core/programmers/llm/LlmApplicationProgrammer.go +1 -3
- package/native/core/programmers/llm/LlmCoerceProgrammer.go +2 -4
- package/native/core/programmers/llm/LlmControllerProgrammer.go +1 -3
- package/native/core/programmers/llm/LlmEvaluationProgrammer.go +1 -3
- package/native/core/programmers/llm/LlmParametersProgrammer.go +1 -3
- package/native/core/programmers/llm/LlmParseProgrammer.go +3 -5
- package/native/core/programmers/llm/LlmSchemaProgrammer.go +5 -7
- package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +2 -4
- package/native/core/programmers/llm/llm_schema_programmer_coverage_test.go +1 -1
- package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +1 -3
- package/native/core/programmers/notations/NotationGeneralProgrammer.go +26 -28
- package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +1 -3
- package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +1 -3
- package/native/core/programmers/plain/PlainAssertClassifyProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainAssertCloneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainAssertPruneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainClassifyProgrammer.go +44 -46
- package/native/core/programmers/plain/PlainCloneProgrammer.go +30 -32
- package/native/core/programmers/plain/PlainIsCloneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainIsPruneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainPruneProgrammer.go +26 -28
- package/native/core/programmers/plain/PlainValidateClassifyProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainValidateCloneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainValidatePruneProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +24 -25
- package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +23 -25
- package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +1 -3
- package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +3 -5
- package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +1 -1
- package/native/core/programmers/reflect/ReflectLiteralsProgrammer.go +1 -3
- package/native/core/schemas/metadata/MetadataCollection.go +2 -2
- package/native/core/schemas/metadata/MetadataDefaultLibrary.go +1 -1
- package/native/core/schemas/metadata/MetadataDependency.go +13 -13
- package/native/core/utils/PromiseTypeFactory.go +3 -3
- package/native/go.mod +3 -4
- package/native/go.work +1 -1
- package/native/transform/CallExpressionTransformer.go +4 -4
- package/native/transform/FileTransformer.go +2 -4
- package/native/transform/features/RandomTransformer.go +1 -3
- package/native/transform/features/compare/CompareEqualTransformer.go +1 -1
- package/native/transform/features/compare/CompareLessTransformer.go +1 -1
- package/native/transform/features/functional/FunctionalGenericTransformer.go +2 -2
- package/native/transform/features/llm/LlmCoerceTransformer.go +1 -1
- package/native/transform/features/llm/LlmEvaluationProbabilityDeclarations.go +1 -1
- package/native/transform/features/llm/LlmEvaluationTransformer.go +1 -1
- package/native/transform/features/llm/LlmParseTransformer.go +1 -1
- package/native/transform/features/llm/LlmSchemaTransformer.go +1 -3
- package/native/transform/features/reflect/ReflectNameTransformer.go +1 -3
- package/native/transform/file_transformer_coverage_test.go +2 -1
- package/native/transform/internal/GenericTransformer.go +1 -3
- package/package.json +6 -6
- package/src/transform.ts +6 -2
|
@@ -61,10 +61,8 @@ type protobufEncodeProgrammer_IUnion struct {
|
|
|
61
61
|
|
|
62
62
|
const protobufEncodeProgrammer_PREFIX = "_pe"
|
|
63
63
|
|
|
64
|
-
var protobufEncodeProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
65
|
-
|
|
66
64
|
func (protobufEncodeProgrammerNamespace) Decompose(props ProtobufEncodeProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
67
|
-
f := nativecontext.
|
|
65
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
68
66
|
collection := schemametadata.NewMetadataCollection()
|
|
69
67
|
metadata := nativefactories.ProtobufFactory.Metadata(nativefactories.ProtobufFactory_IProps{
|
|
70
68
|
Method: protobufEncodeProgrammer_method_text(props.Modulo),
|
|
@@ -148,7 +146,7 @@ func (protobufEncodeProgrammerNamespace) Write(props ProtobufEncodeProgrammer_IP
|
|
|
148
146
|
Type: props.Type,
|
|
149
147
|
Name: props.Name,
|
|
150
148
|
})
|
|
151
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
149
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
152
150
|
Modulo: props.Modulo,
|
|
153
151
|
Functor: functor,
|
|
154
152
|
Result: result,
|
|
@@ -163,7 +161,7 @@ type protobufEncodeProgrammer_writeEncoderProps struct {
|
|
|
163
161
|
}
|
|
164
162
|
|
|
165
163
|
func protobufEncodeProgrammer_write_encoder(props protobufEncodeProgrammer_writeEncoderProps) *shimast.Node {
|
|
166
|
-
f := nativecontext.
|
|
164
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
167
165
|
functors := []*shimast.Node{}
|
|
168
166
|
for _, object := range props.Collection.Objects() {
|
|
169
167
|
if nativehelpers.ProtobufUtil.IsStaticObject(object) == false {
|
|
@@ -260,7 +258,7 @@ type protobufEncodeProgrammer_writeObjectFunctionProps struct {
|
|
|
260
258
|
}
|
|
261
259
|
|
|
262
260
|
func protobufEncodeProgrammer_write_object_function(props protobufEncodeProgrammer_writeObjectFunctionProps) *shimast.Node {
|
|
263
|
-
f := nativecontext.
|
|
261
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
264
262
|
body := []*shimast.Node{}
|
|
265
263
|
guarded := props.Object.Recursive && props.Functor.Visited()
|
|
266
264
|
if guarded {
|
|
@@ -331,7 +329,7 @@ type protobufEncodeProgrammer_decodePropertyProps struct {
|
|
|
331
329
|
}
|
|
332
330
|
|
|
333
331
|
func protobufEncodeProgrammer_decode_property(props protobufEncodeProgrammer_decodePropertyProps) *shimast.Node {
|
|
334
|
-
f := nativecontext.
|
|
332
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
335
333
|
union := []protobufEncodeProgrammer_IUnion{}
|
|
336
334
|
bigintCandidates := protobufEncodeProgrammer_bigintCandidates(props.Protobuf.Union)
|
|
337
335
|
numberCandidates := protobufEncodeProgrammer_numberCandidates(props.Protobuf.Union)
|
|
@@ -542,7 +540,7 @@ func protobufEncodeProgrammer_decode_bigint(props struct {
|
|
|
542
540
|
Input *shimast.Node
|
|
543
541
|
Index *int
|
|
544
542
|
}, emit *shimprinter.EmitContext) protobufEncodeProgrammer_IUnion {
|
|
545
|
-
f := nativecontext.
|
|
543
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
546
544
|
return protobufEncodeProgrammer_IUnion{
|
|
547
545
|
Is: func() *shimast.Node {
|
|
548
546
|
typeof := protobufEncodeProgrammer_strict_equal(
|
|
@@ -553,7 +551,7 @@ func protobufEncodeProgrammer_decode_bigint(props struct {
|
|
|
553
551
|
if len(props.Candidates) == 1 {
|
|
554
552
|
return typeof
|
|
555
553
|
}
|
|
556
|
-
return protobufEncodeProgrammer_logical_and(typeof, nativefactories.NumericRangeFactory.Bigint(props.Type, props.Input), emit)
|
|
554
|
+
return protobufEncodeProgrammer_logical_and(typeof, nativefactories.NumericRangeFactory.Bigint(props.Type, props.Input, emit), emit)
|
|
557
555
|
},
|
|
558
556
|
Value: func() *shimast.Node {
|
|
559
557
|
expressions := []*shimast.Node{}
|
|
@@ -575,7 +573,7 @@ func protobufEncodeProgrammer_decode_number(props struct {
|
|
|
575
573
|
Input *shimast.Node
|
|
576
574
|
Index *int
|
|
577
575
|
}, emit *shimprinter.EmitContext) protobufEncodeProgrammer_IUnion {
|
|
578
|
-
f := nativecontext.
|
|
576
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
579
577
|
return protobufEncodeProgrammer_IUnion{
|
|
580
578
|
Is: func() *shimast.Node {
|
|
581
579
|
typeof := protobufEncodeProgrammer_strict_equal(
|
|
@@ -586,7 +584,7 @@ func protobufEncodeProgrammer_decode_number(props struct {
|
|
|
586
584
|
if len(props.Candidates) == 1 {
|
|
587
585
|
return typeof
|
|
588
586
|
}
|
|
589
|
-
return protobufEncodeProgrammer_logical_and(typeof, nativefactories.NumericRangeFactory.Number(props.Type, props.Input), emit)
|
|
587
|
+
return protobufEncodeProgrammer_logical_and(typeof, nativefactories.NumericRangeFactory.Number(props.Type, props.Input, emit), emit)
|
|
590
588
|
},
|
|
591
589
|
Value: func() *shimast.Node {
|
|
592
590
|
expressions := []*shimast.Node{}
|
|
@@ -688,7 +686,7 @@ type protobufEncodeProgrammer_decodeArrayProps struct {
|
|
|
688
686
|
}
|
|
689
687
|
|
|
690
688
|
func protobufEncodeProgrammer_decode_array(props protobufEncodeProgrammer_decodeArrayProps) *shimast.Node {
|
|
691
|
-
f := nativecontext.
|
|
689
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
692
690
|
value := props.Schema.Value
|
|
693
691
|
wire := nativehelpers.VARIANT
|
|
694
692
|
if protobufEncodeProgrammer_schemaType(value) == "object" || protobufEncodeProgrammer_schemaType(value) == "bytes" || protobufEncodeProgrammer_schemaType(value) == "string" {
|
|
@@ -760,7 +758,7 @@ type protobufEncodeProgrammer_decodeObjectProps struct {
|
|
|
760
758
|
}
|
|
761
759
|
|
|
762
760
|
func protobufEncodeProgrammer_decode_object(props protobufEncodeProgrammer_decodeObjectProps) *shimast.Node {
|
|
763
|
-
f := nativecontext.
|
|
761
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
764
762
|
object := protobufEncodeProgrammer_objectSchema(props.Schema)
|
|
765
763
|
objectIndex := 0
|
|
766
764
|
if object != nil {
|
|
@@ -791,7 +789,7 @@ type protobufEncodeProgrammer_decodeMapProps struct {
|
|
|
791
789
|
}
|
|
792
790
|
|
|
793
791
|
func protobufEncodeProgrammer_decode_map(props protobufEncodeProgrammer_decodeMapProps) *shimast.Node {
|
|
794
|
-
f := nativecontext.
|
|
792
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
795
793
|
each := []*shimast.Node{
|
|
796
794
|
f.NewExpressionStatement(protobufEncodeProgrammer_decode_tag(struct {
|
|
797
795
|
Wire nativehelpers.ProtobufWire
|
|
@@ -839,7 +837,7 @@ type protobufEncodeProgrammer_exploreObjectsProps struct {
|
|
|
839
837
|
}
|
|
840
838
|
|
|
841
839
|
func protobufEncodeProgrammer_explore_objects(props protobufEncodeProgrammer_exploreObjectsProps) *shimast.Node {
|
|
842
|
-
f := nativecontext.
|
|
840
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
843
841
|
out := func(schema schemaprotobuf.IProtobufPropertyType) *shimast.Node {
|
|
844
842
|
if protobufEncodeProgrammer_schemaType(schema) == "object" {
|
|
845
843
|
return protobufEncodeProgrammer_decode_object(protobufEncodeProgrammer_decodeObjectProps{
|
|
@@ -880,7 +878,7 @@ func protobufEncodeProgrammer_explore_objects(props protobufEncodeProgrammer_exp
|
|
|
880
878
|
}
|
|
881
879
|
specifications := nativehelpers.UnionPredicator.Object(objects)
|
|
882
880
|
if len(specifications) == 0 {
|
|
883
|
-
condition := nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
|
|
881
|
+
condition := nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{Emit: props.Context.Emit,
|
|
884
882
|
Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
|
|
885
883
|
return nativeprogrammers.IsProgrammer.Decode_object(nativeprogrammers.IsProgrammer_DecodeObjectProps{
|
|
886
884
|
Context: props.Context,
|
|
@@ -1023,7 +1021,7 @@ type protobufEncodeProgrammer_throwProps struct {
|
|
|
1023
1021
|
}
|
|
1024
1022
|
|
|
1025
1023
|
func protobufEncodeProgrammer_create_throw_error(props protobufEncodeProgrammer_throwProps) *shimast.Node {
|
|
1026
|
-
f := nativecontext.
|
|
1024
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1027
1025
|
return f.NewExpressionStatement(
|
|
1028
1026
|
f.NewCallExpression(
|
|
1029
1027
|
protobufEncodeProgrammer_internal(props.Context, "throwTypeGuardError"),
|
|
@@ -1042,7 +1040,7 @@ func protobufEncodeProgrammer_create_throw_error(props protobufEncodeProgrammer_
|
|
|
1042
1040
|
}
|
|
1043
1041
|
|
|
1044
1042
|
func protobufEncodeProgrammer_callWriter(method string, args []*shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
1045
|
-
f := nativecontext.
|
|
1043
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
1046
1044
|
return f.NewCallExpression(
|
|
1047
1045
|
nativefactories.IdentifierFactory.Access(emit, f.NewIdentifier("writer"), method),
|
|
1048
1046
|
nil,
|
|
@@ -1053,7 +1051,7 @@ func protobufEncodeProgrammer_callWriter(method string, args []*shimast.Node, em
|
|
|
1053
1051
|
}
|
|
1054
1052
|
|
|
1055
1053
|
func protobufEncodeProgrammer_expressionBlock(expressions []*shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
1056
|
-
f := nativecontext.
|
|
1054
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
1057
1055
|
statements := make([]*shimast.Node, 0, len(expressions))
|
|
1058
1056
|
for _, expr := range expressions {
|
|
1059
1057
|
statements = append(statements, f.NewExpressionStatement(expr))
|
|
@@ -1062,7 +1060,7 @@ func protobufEncodeProgrammer_expressionBlock(expressions []*shimast.Node, emit
|
|
|
1062
1060
|
}
|
|
1063
1061
|
|
|
1064
1062
|
func protobufEncodeProgrammer_chainUnion(union []protobufEncodeProgrammer_IUnion, context nativecontext.ITypiaContext, functor *nativehelpers.FunctionProgrammer, input *shimast.Node, expected string) *shimast.Node {
|
|
1065
|
-
f := nativecontext.
|
|
1063
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
1066
1064
|
var next *shimast.Node
|
|
1067
1065
|
for i := len(union) - 1; i >= 0; i-- {
|
|
1068
1066
|
var elseStatement *shimast.Node
|
|
@@ -1086,17 +1084,17 @@ func protobufEncodeProgrammer_chainUnion(union []protobufEncodeProgrammer_IUnion
|
|
|
1086
1084
|
}
|
|
1087
1085
|
|
|
1088
1086
|
func protobufEncodeProgrammer_strict_equal(left *shimast.Node, right *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
1089
|
-
f := nativecontext.
|
|
1087
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
1090
1088
|
return f.NewBinaryExpression(nil, left, nil, f.NewToken(shimast.KindEqualsEqualsEqualsToken), right)
|
|
1091
1089
|
}
|
|
1092
1090
|
|
|
1093
1091
|
func protobufEncodeProgrammer_strict_not_equal(left *shimast.Node, right *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
1094
|
-
f := nativecontext.
|
|
1092
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
1095
1093
|
return f.NewBinaryExpression(nil, left, nil, f.NewToken(shimast.KindExclamationEqualsEqualsToken), right)
|
|
1096
1094
|
}
|
|
1097
1095
|
|
|
1098
1096
|
func protobufEncodeProgrammer_logical_and(left *shimast.Node, right *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
1099
|
-
f := nativecontext.
|
|
1097
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
1100
1098
|
return f.NewBinaryExpression(nil, left, nil, f.NewToken(shimast.KindAmpersandAmpersandToken), right)
|
|
1101
1099
|
}
|
|
1102
1100
|
|
|
@@ -1249,7 +1247,7 @@ func protobufEncodeProgrammer_import_type(context nativecontext.ITypiaContext, p
|
|
|
1249
1247
|
if importer := context.Importer; importer != nil {
|
|
1250
1248
|
return importer.Type(props)
|
|
1251
1249
|
}
|
|
1252
|
-
f := nativecontext.
|
|
1250
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
1253
1251
|
if str, ok := props.Name.(string); ok {
|
|
1254
1252
|
return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
|
|
1255
1253
|
}
|
|
@@ -1260,7 +1258,7 @@ func protobufEncodeProgrammer_internal(context nativecontext.ITypiaContext, name
|
|
|
1260
1258
|
if importer := context.Importer; importer != nil {
|
|
1261
1259
|
return importer.Internal(name)
|
|
1262
1260
|
}
|
|
1263
|
-
f := nativecontext.
|
|
1261
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
1264
1262
|
return f.NewIdentifier(name)
|
|
1265
1263
|
}
|
|
1266
1264
|
|
|
@@ -48,10 +48,8 @@ type ProtobufIsDecodeProgrammer_DecomposeProps struct {
|
|
|
48
48
|
Name *string
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
var protobufIsDecodeProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
52
|
-
|
|
53
51
|
func (protobufIsDecodeProgrammerNamespace) Decompose(props ProtobufIsDecodeProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
54
|
-
f := nativecontext.
|
|
52
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
55
53
|
isContext := props.Context
|
|
56
54
|
functional := false
|
|
57
55
|
numeric := false
|
|
@@ -132,7 +130,7 @@ func (protobufIsDecodeProgrammerNamespace) Write(props ProtobufIsDecodeProgramme
|
|
|
132
130
|
Type: props.Type,
|
|
133
131
|
Name: props.Name,
|
|
134
132
|
})
|
|
135
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
133
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
136
134
|
Modulo: props.Modulo,
|
|
137
135
|
Functor: functor,
|
|
138
136
|
Result: result,
|
|
@@ -48,10 +48,8 @@ type ProtobufIsEncodeProgrammer_DecomposeProps struct {
|
|
|
48
48
|
Name *string
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
var protobufIsEncodeProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
52
|
-
|
|
53
51
|
func (protobufIsEncodeProgrammerNamespace) Decompose(props ProtobufIsEncodeProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
54
|
-
f := nativecontext.
|
|
52
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
55
53
|
isContext := props.Context
|
|
56
54
|
functional := false
|
|
57
55
|
finite := true
|
|
@@ -125,7 +123,7 @@ func (protobufIsEncodeProgrammerNamespace) Write(props ProtobufIsEncodeProgramme
|
|
|
125
123
|
Type: props.Type,
|
|
126
124
|
Name: props.Name,
|
|
127
125
|
})
|
|
128
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
126
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
129
127
|
Modulo: props.Modulo,
|
|
130
128
|
Functor: functor,
|
|
131
129
|
Result: result,
|
|
@@ -36,10 +36,8 @@ type protobufMessageProgrammer_Hierarchy struct {
|
|
|
36
36
|
Order []string
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
-
var protobufMessageProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
40
|
-
|
|
41
39
|
func (protobufMessageProgrammerNamespace) Write(props ProtobufMessageProgrammer_IProps) *shimast.Node {
|
|
42
|
-
f := nativecontext.
|
|
40
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
43
41
|
collection := schemametadata.NewMetadataCollection()
|
|
44
42
|
nativefactories.ProtobufFactory.Metadata(nativefactories.ProtobufFactory_IProps{
|
|
45
43
|
Method: "typia.protobuf.message",
|
|
@@ -48,10 +48,8 @@ type ProtobufValidateDecodeProgrammer_DecomposeProps struct {
|
|
|
48
48
|
Name *string
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
var protobufValidateDecodeProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
52
|
-
|
|
53
51
|
func (protobufValidateDecodeProgrammerNamespace) Decompose(props ProtobufValidateDecodeProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
54
|
-
f := nativecontext.
|
|
52
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
55
53
|
validateContext := props.Context
|
|
56
54
|
functional := false
|
|
57
55
|
numeric := false
|
|
@@ -121,7 +119,7 @@ func (protobufValidateDecodeProgrammerNamespace) Write(props ProtobufValidateDec
|
|
|
121
119
|
Type: props.Type,
|
|
122
120
|
Name: props.Name,
|
|
123
121
|
})
|
|
124
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
122
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
125
123
|
Modulo: props.Modulo,
|
|
126
124
|
Functor: functor,
|
|
127
125
|
Result: result,
|
|
@@ -48,10 +48,8 @@ type ProtobufValidateEncodeProgrammer_DecomposeProps struct {
|
|
|
48
48
|
Name *string
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
var protobufValidateEncodeProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
52
|
-
|
|
53
51
|
func (protobufValidateEncodeProgrammerNamespace) Decompose(props ProtobufValidateEncodeProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
54
|
-
f := nativecontext.
|
|
52
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
55
53
|
validateContext := props.Context
|
|
56
54
|
functional := false
|
|
57
55
|
finite := true
|
|
@@ -144,7 +142,7 @@ func (protobufValidateEncodeProgrammerNamespace) Write(props ProtobufValidateEnc
|
|
|
144
142
|
Type: props.Type,
|
|
145
143
|
Name: props.Name,
|
|
146
144
|
})
|
|
147
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
145
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
148
146
|
Modulo: props.Modulo,
|
|
149
147
|
Functor: functor,
|
|
150
148
|
Result: result,
|
|
@@ -155,7 +153,7 @@ func protobufValidateEncodeProgrammer_import_type(context nativecontext.ITypiaCo
|
|
|
155
153
|
if importer := context.Importer; importer != nil {
|
|
156
154
|
return importer.Type(props)
|
|
157
155
|
}
|
|
158
|
-
f := nativecontext.
|
|
156
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
159
157
|
if str, ok := props.Name.(string); ok {
|
|
160
158
|
return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
|
|
161
159
|
}
|
|
@@ -335,7 +335,7 @@ func TestProtobufProgrammerHelperCoverage(t *testing.T) {
|
|
|
335
335
|
}
|
|
336
336
|
if protobufDecodeProgrammer_write_object_function_body(protobufDecodeProgrammer_objectBodyProps{
|
|
337
337
|
Context: nativecontext.ITypiaContext{},
|
|
338
|
-
Condition:
|
|
338
|
+
Condition: nativecontext.NodeFactoryOf().NewKeywordExpression(
|
|
339
339
|
shimast.KindTrueKeyword,
|
|
340
340
|
),
|
|
341
341
|
Tag: "tag",
|
|
@@ -26,10 +26,8 @@ type ReflectLiteralsProgrammer_IProps struct {
|
|
|
26
26
|
Type *shimchecker.Type
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
var reflectLiteralsProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
30
|
-
|
|
31
29
|
func (reflectLiteralsProgrammerNamespace) Write(props ReflectLiteralsProgrammer_IProps) *shimast.Node {
|
|
32
|
-
f := nativecontext.
|
|
30
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
33
31
|
result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
|
|
34
32
|
Checker: props.Context.Checker,
|
|
35
33
|
Options: nativefactories.MetadataFactory_IOptions{
|
|
@@ -1158,10 +1158,10 @@ func metadataCollection_markVisiting(
|
|
|
1158
1158
|
}
|
|
1159
1159
|
|
|
1160
1160
|
func metadataCollection_getName(symbol *nativeast.Symbol) string {
|
|
1161
|
-
if symbol == nil || len(symbol
|
|
1161
|
+
if symbol == nil || len(nativeast.SymbolDeclarationsOf(symbol)) == 0 || nativeast.SymbolDeclarationsOf(symbol)[0].Parent == nil {
|
|
1162
1162
|
return "__type"
|
|
1163
1163
|
}
|
|
1164
|
-
return metadataCollection_exploreName(symbol
|
|
1164
|
+
return metadataCollection_exploreName(nativeast.SymbolDeclarationsOf(symbol)[0].Parent, strings.ReplaceAll(nativeast.SymbolNameOf(symbol), "\uFFFD", "__"))
|
|
1165
1165
|
}
|
|
1166
1166
|
|
|
1167
1167
|
func metadataCollection_exploreName(node *nativeast.Node, name string) string {
|
|
@@ -80,7 +80,7 @@ func MetadataDefaultLibrary_is(checker *nativechecker.Checker, source *nativeast
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
|
-
return MetadataDefaultLibrary_isFileNamed(source.FileName())
|
|
83
|
+
return MetadataDefaultLibrary_isFileNamed(string(source.FileName()))
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
// MetadataDefaultLibrary_isFileNamed is the registry's file-name fallback,
|
|
@@ -358,15 +358,15 @@ func metadataDependency_touchDeclarations(
|
|
|
358
358
|
// name selects, so all of it belongs to the identity channel -- the alias hops
|
|
359
359
|
// as much as the terminus.
|
|
360
360
|
report := listener.Callee
|
|
361
|
-
if symbol
|
|
361
|
+
if nativeast.SymbolFlagsOf(symbol)&nativeast.SymbolFlagsAlias != 0 {
|
|
362
362
|
metadataDependency_touchPath(checker, listener, symbol, report)
|
|
363
363
|
if resolved := nativechecker.Checker_getAliasedSymbol(checker, symbol); resolved != nil {
|
|
364
364
|
symbol = resolved
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
|
-
for _, declaration := range symbol
|
|
367
|
+
for _, declaration := range nativeast.SymbolDeclarationsOf(symbol) {
|
|
368
368
|
if src := nativeast.GetSourceFileOfNode(declaration); src != nil {
|
|
369
|
-
report(src.FileName())
|
|
369
|
+
report(string(src.FileName()))
|
|
370
370
|
}
|
|
371
371
|
if nested && metadataDependency_calleeBounded(declaration) == false {
|
|
372
372
|
listener.unbounded()
|
|
@@ -420,12 +420,12 @@ func metadataDependency_touchVisited(
|
|
|
420
420
|
return
|
|
421
421
|
}
|
|
422
422
|
visited[symbol] = true
|
|
423
|
-
for _, declaration := range symbol
|
|
423
|
+
for _, declaration := range nativeast.SymbolDeclarationsOf(symbol) {
|
|
424
424
|
if declaration == nil {
|
|
425
425
|
continue
|
|
426
426
|
}
|
|
427
427
|
if src := nativeast.GetSourceFileOfNode(declaration); src != nil {
|
|
428
|
-
listener.File(src.FileName())
|
|
428
|
+
listener.File(string(src.FileName()))
|
|
429
429
|
}
|
|
430
430
|
if metadataDependency_bounded(declaration) == false {
|
|
431
431
|
listener.unbounded()
|
|
@@ -890,7 +890,7 @@ func metadataDependency_resolve(
|
|
|
890
890
|
if symbol == nil {
|
|
891
891
|
return nil
|
|
892
892
|
}
|
|
893
|
-
if symbol
|
|
893
|
+
if nativeast.SymbolFlagsOf(symbol)&nativeast.SymbolFlagsAlias != 0 {
|
|
894
894
|
// The type walk: a hop reached here was reached because a consulted type is
|
|
895
895
|
// built from what it publishes, so it reports on the consultation channel.
|
|
896
896
|
metadataDependency_touchPath(checker, listener, symbol, listener.File)
|
|
@@ -921,7 +921,7 @@ func metadataDependency_touchPath(
|
|
|
921
921
|
report func(fileName string),
|
|
922
922
|
) {
|
|
923
923
|
visited := map[*nativeast.Symbol]bool{}
|
|
924
|
-
for symbol != nil && symbol
|
|
924
|
+
for symbol != nil && nativeast.SymbolFlagsOf(symbol)&nativeast.SymbolFlagsAlias != 0 && visited[symbol] == false {
|
|
925
925
|
visited[symbol] = true
|
|
926
926
|
declaration := nativechecker.Checker_getDeclarationOfAliasSymbol(checker, symbol)
|
|
927
927
|
if declaration == nil {
|
|
@@ -929,7 +929,7 @@ func metadataDependency_touchPath(
|
|
|
929
929
|
}
|
|
930
930
|
// The file that WRITES this hop (the barrel's own `export ... from` line).
|
|
931
931
|
if src := nativeast.GetSourceFileOfNode(declaration); src != nil {
|
|
932
|
-
report(src.FileName())
|
|
932
|
+
report(string(src.FileName()))
|
|
933
933
|
}
|
|
934
934
|
specifier := metadataDependency_moduleSpecifier(declaration)
|
|
935
935
|
if specifier == nil {
|
|
@@ -948,9 +948,9 @@ func metadataDependency_touchPath(
|
|
|
948
948
|
if module == nil {
|
|
949
949
|
return
|
|
950
950
|
}
|
|
951
|
-
for _, moduleDeclaration := range module
|
|
951
|
+
for _, moduleDeclaration := range nativeast.SymbolDeclarationsOf(module) {
|
|
952
952
|
if src := nativeast.GetSourceFileOfNode(moduleDeclaration); src != nil {
|
|
953
|
-
report(src.FileName())
|
|
953
|
+
report(string(src.FileName()))
|
|
954
954
|
}
|
|
955
955
|
}
|
|
956
956
|
symbol = metadataDependency_exported(module, declaration)
|
|
@@ -969,13 +969,13 @@ func metadataDependency_touchPath(
|
|
|
969
969
|
// stops the walk at the module already reported, which loses no edge: the
|
|
970
970
|
// terminus is resolved separately by the checker.
|
|
971
971
|
func metadataDependency_exported(module *nativeast.Symbol, declaration *nativeast.Node) *nativeast.Symbol {
|
|
972
|
-
if module
|
|
972
|
+
if nativeast.SymbolExportsOf(module) == nil {
|
|
973
973
|
return nil
|
|
974
974
|
}
|
|
975
975
|
switch declaration.Kind {
|
|
976
976
|
case nativeast.KindImportClause:
|
|
977
977
|
// ast.InternalSymbolNameDefault, which the shim does not re-export.
|
|
978
|
-
return module
|
|
978
|
+
return nativeast.SymbolExportsOf(module)["default"]
|
|
979
979
|
case nativeast.KindImportSpecifier, nativeast.KindExportSpecifier:
|
|
980
980
|
name := declaration.PropertyNameOrName()
|
|
981
981
|
if name == nil {
|
|
@@ -983,7 +983,7 @@ func metadataDependency_exported(module *nativeast.Symbol, declaration *nativeas
|
|
|
983
983
|
}
|
|
984
984
|
switch name.Kind {
|
|
985
985
|
case nativeast.KindIdentifier, nativeast.KindStringLiteral:
|
|
986
|
-
return module
|
|
986
|
+
return nativeast.SymbolExportsOf(module)[name.Text()]
|
|
987
987
|
}
|
|
988
988
|
}
|
|
989
989
|
return nil
|
|
@@ -55,13 +55,13 @@ func (promiseTypeFactoryNamespace) satisfiesGlobalContract(checker *shimchecker.
|
|
|
55
55
|
return false
|
|
56
56
|
}
|
|
57
57
|
for _, property := range checker.GetPropertiesOfType(contract) {
|
|
58
|
-
if property
|
|
58
|
+
if shimast.SymbolNameOf(property) == "then" || (len(shimast.SymbolNameOf(property)) != 0 && shimast.SymbolNameOf(property)[0] == 0xfe) {
|
|
59
59
|
// GetPromisedTypeOfPromise verifies the thenable shape. Conditional
|
|
60
60
|
// Promise inference ignores well-known-symbol augmentations.
|
|
61
61
|
continue
|
|
62
62
|
}
|
|
63
|
-
required := checker.GetTypeOfPropertyOfType(contract, property
|
|
64
|
-
candidate := checker.GetTypeOfPropertyOfType(t, property
|
|
63
|
+
required := checker.GetTypeOfPropertyOfType(contract, shimast.SymbolNameOf(property))
|
|
64
|
+
candidate := checker.GetTypeOfPropertyOfType(t, shimast.SymbolNameOf(property))
|
|
65
65
|
if required == nil || candidate == nil || !checker.IsTypeAssignableTo(candidate, required) {
|
|
66
66
|
return false
|
|
67
67
|
}
|
package/native/go.mod
CHANGED
|
@@ -2,9 +2,8 @@ module github.com/samchon/typia/packages/typia/native
|
|
|
2
2
|
|
|
3
3
|
go 1.26
|
|
4
4
|
|
|
5
|
-
// Build-time floor: the
|
|
6
|
-
//
|
|
7
|
-
// this plugin consumes exists only in ttsc >= 0.19.2. That floor is enforced
|
|
5
|
+
// Build-time floor: the version-neutral Symbol and path APIs consumed by
|
|
6
|
+
// this plugin exist only in ttsc >= 0.34.0. That floor is enforced
|
|
8
7
|
// through typia's package.json `ttsc` peerDependency, not here: ttsc builds
|
|
9
8
|
// this plugin from source on the user's machine and its buildSourcePlugin
|
|
10
9
|
// generates `replace github.com/samchon/ttsc/packages/ttsc v0.0.0 =>
|
|
@@ -18,6 +17,7 @@ require (
|
|
|
18
17
|
github.com/microsoft/typescript-go/shim/parser v0.0.0
|
|
19
18
|
github.com/microsoft/typescript-go/shim/printer v0.0.0
|
|
20
19
|
github.com/microsoft/typescript-go/shim/scanner v0.0.0
|
|
20
|
+
github.com/microsoft/typescript-go/shim/tspath v0.0.0
|
|
21
21
|
github.com/samchon/ttsc/packages/ttsc v0.0.0
|
|
22
22
|
golang.org/x/text v0.36.0
|
|
23
23
|
)
|
|
@@ -29,7 +29,6 @@ require (
|
|
|
29
29
|
github.com/microsoft/typescript-go/shim/bundled v0.0.0 // indirect
|
|
30
30
|
github.com/microsoft/typescript-go/shim/diagnosticwriter v0.0.0 // indirect
|
|
31
31
|
github.com/microsoft/typescript-go/shim/tsoptions v0.0.0 // indirect
|
|
32
|
-
github.com/microsoft/typescript-go/shim/tspath v0.0.0 // indirect
|
|
33
32
|
github.com/microsoft/typescript-go/shim/vfs v0.0.0 // indirect
|
|
34
33
|
github.com/microsoft/typescript-go/shim/vfs/cachedvfs v0.0.0 // indirect
|
|
35
34
|
github.com/microsoft/typescript-go/shim/vfs/osvfs v0.0.0 // indirect
|
package/native/go.work
CHANGED
|
@@ -92,7 +92,7 @@ func (callExpressionTransformerNamespace) Transform(props CallExpressionTransfor
|
|
|
92
92
|
if sourceFile == nil {
|
|
93
93
|
return props.Expression.AsNode()
|
|
94
94
|
}
|
|
95
|
-
location, _ := filepath.Abs(sourceFile.FileName())
|
|
95
|
+
location, _ := filepath.Abs(string(sourceFile.FileName()))
|
|
96
96
|
module, ok := callExpressionTransformer_targetModule(location)
|
|
97
97
|
if ok == false {
|
|
98
98
|
callExpressionTransformer_rejectShadowedTypia(props, location)
|
|
@@ -102,7 +102,7 @@ func (callExpressionTransformerNamespace) Transform(props CallExpressionTransfor
|
|
|
102
102
|
if typ == nil || typ.Symbol() == nil {
|
|
103
103
|
return props.Expression.AsNode()
|
|
104
104
|
}
|
|
105
|
-
name := typ.Symbol()
|
|
105
|
+
name := shimast.SymbolNameOf(typ.Symbol())
|
|
106
106
|
return CallExpressionTransformer.TransformKnown(CallExpressionTransformer_TransformKnownProps{
|
|
107
107
|
Context: props.Context,
|
|
108
108
|
Expression: props.Expression,
|
|
@@ -210,10 +210,10 @@ func callExpressionTransformer_rejectShadowedTypia(props CallExpressionTransform
|
|
|
210
210
|
return
|
|
211
211
|
}
|
|
212
212
|
symbol := props.Context.Checker.GetSymbolAtLocation(root)
|
|
213
|
-
if symbol == nil || symbol
|
|
213
|
+
if symbol == nil || shimast.SymbolFlagsOf(symbol)&shimast.SymbolFlagsAlias == 0 {
|
|
214
214
|
return
|
|
215
215
|
}
|
|
216
|
-
for _, declaration := range symbol
|
|
216
|
+
for _, declaration := range shimast.SymbolDeclarationsOf(symbol) {
|
|
217
217
|
if callExpressionTransformer_importsTypia(declaration) == false {
|
|
218
218
|
continue
|
|
219
219
|
}
|
|
@@ -54,8 +54,6 @@ type FileTransformer_IEnvironments struct {
|
|
|
54
54
|
// @evidence contracts/common.md#meaningful-documentation The doc states the mapping.
|
|
55
55
|
type FileTransformer_Type func(file *shimast.SourceFile) *shimast.SourceFile
|
|
56
56
|
|
|
57
|
-
var fileTransformer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
58
|
-
|
|
59
57
|
// Transform builds the per-file transformer of a host. Every file gets its own importer, a TransformerError raised while a node is
|
|
60
58
|
// transformed becomes a diagnostic and leaves the node unchanged, and the
|
|
61
59
|
// importer's statements are inserted after the leading directive prologue.
|
|
@@ -114,7 +112,7 @@ func fileTransformer_iterate_file(context nativecontext.ITypiaContext, file *shi
|
|
|
114
112
|
if context.Emit != nil {
|
|
115
113
|
visitor = context.Emit.NewNodeVisitor(visit)
|
|
116
114
|
} else {
|
|
117
|
-
visitor = shimast.NewNodeVisitor(visit,
|
|
115
|
+
visitor = shimast.NewNodeVisitor(visit, nativecontext.NodeFactoryOf(context.Emit), shimast.NodeVisitorHooks{})
|
|
118
116
|
}
|
|
119
117
|
output := visitor.VisitNode(file.AsNode())
|
|
120
118
|
if output == nil {
|
|
@@ -192,7 +190,7 @@ func fileTransformer_inject_imports(file *shimast.SourceFile, imports []*shimast
|
|
|
192
190
|
if file == nil || len(imports) == 0 {
|
|
193
191
|
return file
|
|
194
192
|
}
|
|
195
|
-
f := nativecontext.
|
|
193
|
+
f := nativecontext.NodeFactoryOf(emit...)
|
|
196
194
|
index := fileTransformer_find_import_injection_index(file)
|
|
197
195
|
nodes := make([]*shimast.Node, 0, len(file.Statements.Nodes)+len(imports))
|
|
198
196
|
nodes = append(nodes, file.Statements.Nodes[:index]...)
|
|
@@ -15,10 +15,8 @@ type randomTransformerNamespace struct{}
|
|
|
15
15
|
|
|
16
16
|
var RandomTransformer = randomTransformerNamespace{}
|
|
17
17
|
|
|
18
|
-
var randomTransformer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
19
|
-
|
|
20
18
|
func (randomTransformerNamespace) Transform(props nativetransform.ITransformProps) *shimast.Node {
|
|
21
|
-
f := nativecontext.
|
|
19
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
22
20
|
if props.Expression == nil || props.Expression.TypeArguments == nil || len(props.Expression.TypeArguments.Nodes) == 0 {
|
|
23
21
|
panic(nativetransform.NewTransformerError(nativetransform.TransformerError_IProps{
|
|
24
22
|
Code: nativehelpers.ModuloMethodText(props.Modulo),
|
|
@@ -16,7 +16,7 @@ func (compareEqualTransformerNamespace) Transform(props nativeinternal.ITransfor
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
func compareEqualTransformer_scalar(props nativeinternal.ITransformProps, method string, cover bool) *shimast.Node {
|
|
19
|
-
f := nativecontext.
|
|
19
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
20
20
|
if props.Expression == nil || props.Expression.Arguments == nil || len(props.Expression.Arguments.Nodes) < 2 {
|
|
21
21
|
panic(nativeinternal.NewTransformerError(nativeinternal.TransformerError_IProps{
|
|
22
22
|
Code: "typia." + method,
|
|
@@ -16,7 +16,7 @@ func (compareLessTransformerNamespace) Transform(props nativeinternal.ITransform
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
func compareLessTransformer_scalar(props nativeinternal.ITransformProps, method string) *shimast.Node {
|
|
19
|
-
f := nativecontext.
|
|
19
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
20
20
|
if props.Expression == nil || props.Expression.Arguments == nil || len(props.Expression.Arguments.Nodes) < 2 {
|
|
21
21
|
panic(nativeinternal.NewTransformerError(nativeinternal.TransformerError_IProps{
|
|
22
22
|
Code: "typia." + method,
|
|
@@ -90,8 +90,8 @@ func (functionalGenericTransformerNamespace) Transform(spec FunctionalGenericTra
|
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
var declaration *shimast.Node
|
|
93
|
-
if symbol := typ.Symbol(); symbol != nil && len(symbol
|
|
94
|
-
declaration = symbol
|
|
93
|
+
if symbol := typ.Symbol(); symbol != nil && len(shimast.SymbolDeclarationsOf(symbol)) != 0 {
|
|
94
|
+
declaration = shimast.SymbolDeclarationsOf(symbol)[0]
|
|
95
95
|
}
|
|
96
96
|
var init *shimast.Node
|
|
97
97
|
if props.Expression.Arguments != nil && len(props.Expression.Arguments.Nodes) > 1 {
|
|
@@ -14,7 +14,7 @@ type llmCoerceTransformerNamespace struct{}
|
|
|
14
14
|
var LlmCoerceTransformer = llmCoerceTransformerNamespace{}
|
|
15
15
|
|
|
16
16
|
func (llmCoerceTransformerNamespace) Transform(props nativetransform.ITransformProps) *shimast.Node {
|
|
17
|
-
f := nativecontext.
|
|
17
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
18
18
|
llmTransformer_require_argument(props, "typia.llm.coerce", 0, "no input value.")
|
|
19
19
|
top, typ, ok := llmTransformer_type_argument(props, "typia.llm.coerce")
|
|
20
20
|
if ok == false {
|
|
@@ -76,7 +76,7 @@ func llmEvaluation_declarationProbabilityErrors(files []*shimast.SourceFile) []n
|
|
|
76
76
|
}
|
|
77
77
|
errors = append(errors, nativellmprogrammers.LlmEvaluationProgrammer_IError{
|
|
78
78
|
Accessor: "$input",
|
|
79
|
-
Message: fmt.Sprintf("LLM evaluation @probability on %s %s in %s is unsupported; put it on a decision property or enum member.", kind, name, file.FileName()),
|
|
79
|
+
Message: fmt.Sprintf("LLM evaluation @probability on %s %s in %s is unsupported; put it on a decision property or enum member.", kind, name, string(file.FileName())),
|
|
80
80
|
})
|
|
81
81
|
break
|
|
82
82
|
}
|
|
@@ -46,7 +46,7 @@ func (llmEvaluationTransformerNamespace) Transform(props nativetransform.ITransf
|
|
|
46
46
|
if props.Context.Program != nil && schemametadata.MetadataDependency_active(props.Context.Checker) {
|
|
47
47
|
for _, file := range props.Context.Program.SourceFiles() {
|
|
48
48
|
if file != nil {
|
|
49
|
-
schemametadata.MetadataDependency_touchFile(props.Context.Checker, file.FileName())
|
|
49
|
+
schemametadata.MetadataDependency_touchFile(props.Context.Checker, string(file.FileName()))
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
}
|