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
|
@@ -57,10 +57,8 @@ type HttpQueryProgrammer_DecomposeProps struct {
|
|
|
57
57
|
Missing bool
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
var httpQueryProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
61
|
-
|
|
62
60
|
func (httpQueryProgrammerNamespace) Decompose(props HttpQueryProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
63
|
-
f := nativecontext.
|
|
61
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
64
62
|
collection := schemametadata.NewMetadataCollection()
|
|
65
63
|
result := nativefactories.MetadataFactory.Analyze(nativefactories.MetadataFactory_IProps{
|
|
66
64
|
Checker: props.Context.Checker,
|
|
@@ -153,7 +151,7 @@ func (httpQueryProgrammerNamespace) Write(props HttpQueryProgrammer_IProps) *shi
|
|
|
153
151
|
Name: props.Name,
|
|
154
152
|
Missing: true,
|
|
155
153
|
})
|
|
156
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
154
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
157
155
|
Modulo: props.Modulo,
|
|
158
156
|
Functor: functor,
|
|
159
157
|
Result: result,
|
|
@@ -233,7 +231,7 @@ func httpQueryProgrammer_decode_object(props struct {
|
|
|
233
231
|
Object *schemametadata.MetadataObjectType
|
|
234
232
|
Missing bool
|
|
235
233
|
}) []*shimast.Node {
|
|
236
|
-
f := nativecontext.
|
|
234
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
237
235
|
input := f.NewIdentifier("input")
|
|
238
236
|
output := f.NewIdentifier("output")
|
|
239
237
|
properties := make([]*shimast.Node, 0, len(props.Object.Properties))
|
|
@@ -286,7 +284,7 @@ func httpQueryProgrammer_decode_regular_property(props struct {
|
|
|
286
284
|
Property *schemametadata.MetadataProperty
|
|
287
285
|
Missing bool
|
|
288
286
|
}) *shimast.Node {
|
|
289
|
-
f := nativecontext.
|
|
287
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
290
288
|
key := httpProgrammer_property_key(props.Property)
|
|
291
289
|
value := props.Property.Value
|
|
292
290
|
typ, isArray := httpProgrammer_decode_type(value, false)
|
|
@@ -390,7 +388,7 @@ func httpQueryProgrammer_decode_value(props struct {
|
|
|
390
388
|
Coalesce bool
|
|
391
389
|
Input *shimast.Node
|
|
392
390
|
}) *shimast.Node {
|
|
393
|
-
f := nativecontext.
|
|
391
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
394
392
|
call := f.NewCallExpression(
|
|
395
393
|
httpParameterProgrammer_internal(props.Context, "httpQueryRead"+httpParameterProgrammer_capitalize(props.Type)),
|
|
396
394
|
nil,
|
|
@@ -411,7 +409,7 @@ func httpQueryProgrammer_decode_value(props struct {
|
|
|
411
409
|
}
|
|
412
410
|
|
|
413
411
|
func httpQueryProgrammer_assert_required_value(key string, input *shimast.Node, emit ...*shimprinter.EmitContext) *shimast.Node {
|
|
414
|
-
f := nativecontext.
|
|
412
|
+
f := nativecontext.NodeFactoryOf(emit...)
|
|
415
413
|
value := f.NewIdentifier("value")
|
|
416
414
|
return f.NewCallExpression(
|
|
417
415
|
f.NewArrowFunction(
|
|
@@ -448,7 +446,7 @@ func httpQueryProgrammer_assert_required_value(key string, input *shimast.Node,
|
|
|
448
446
|
}
|
|
449
447
|
|
|
450
448
|
func httpQueryProgrammer_missing_error(key string, emit ...*shimprinter.EmitContext) *shimast.Node {
|
|
451
|
-
f := nativecontext.
|
|
449
|
+
f := nativecontext.NodeFactoryOf(emit...)
|
|
452
450
|
return f.NewNewExpression(
|
|
453
451
|
f.NewIdentifier("Error"),
|
|
454
452
|
nil,
|
|
@@ -463,7 +461,7 @@ func httpQueryProgrammer_decode_array(props struct {
|
|
|
463
461
|
Metadata *schemametadata.MetadataSchema
|
|
464
462
|
Input *shimast.Node
|
|
465
463
|
}) *shimast.Node {
|
|
466
|
-
f := nativecontext.
|
|
464
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
467
465
|
if props.Metadata.Nullable == false && props.Metadata.IsRequired() == true {
|
|
468
466
|
return props.Input
|
|
469
467
|
}
|
|
@@ -30,8 +30,6 @@ type HttpValidateFormDataProgrammer_DecomposeProps struct {
|
|
|
30
30
|
Name *string
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
var httpValidateProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
34
|
-
|
|
35
33
|
func (httpValidateFormDataProgrammerNamespace) Decompose(props HttpValidateFormDataProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
36
34
|
validate := nativeprogrammers.ValidateProgrammer.Decompose(nativeprogrammers.ValidateProgrammer_DecomposeProps{
|
|
37
35
|
Context: httpProgrammer_context(props.Context, false, false),
|
|
@@ -59,7 +57,7 @@ func (httpValidateFormDataProgrammerNamespace) Write(props nativecontext.IProgra
|
|
|
59
57
|
Type: props.Type,
|
|
60
58
|
Name: props.Name,
|
|
61
59
|
})
|
|
62
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
60
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
63
61
|
Modulo: props.Modulo,
|
|
64
62
|
Functor: functor,
|
|
65
63
|
Result: result,
|
|
@@ -67,7 +65,7 @@ func (httpValidateFormDataProgrammerNamespace) Write(props nativecontext.IProgra
|
|
|
67
65
|
}
|
|
68
66
|
|
|
69
67
|
func httpProgrammer_validate_result(context nativecontext.ITypiaContext, validate nativeinternal.FeatureProgrammer_IDecomposed, decode nativeinternal.FeatureProgrammer_IDecomposed) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
70
|
-
f := nativecontext.
|
|
68
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
71
69
|
decodeArrow := decode.Arrow.AsArrowFunction()
|
|
72
70
|
output := decodeArrow.Type
|
|
73
71
|
if output == nil {
|
|
@@ -56,7 +56,7 @@ func (httpValidateHeadersProgrammerNamespace) Write(props nativecontext.IProgram
|
|
|
56
56
|
Type: props.Type,
|
|
57
57
|
Name: props.Name,
|
|
58
58
|
})
|
|
59
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
59
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
60
60
|
Modulo: props.Modulo,
|
|
61
61
|
Functor: functor,
|
|
62
62
|
Result: result,
|
|
@@ -77,7 +77,7 @@ func (httpValidateQueryProgrammerNamespace) Write(props HttpValidateQueryProgram
|
|
|
77
77
|
Name: props.Name,
|
|
78
78
|
AllowOptional: props.AllowOptional,
|
|
79
79
|
})
|
|
80
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
80
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
81
81
|
Modulo: props.Modulo,
|
|
82
82
|
Functor: functor,
|
|
83
83
|
Result: result,
|
|
@@ -280,8 +280,6 @@ type CheckerProgrammer_DecodeObjectProps struct {
|
|
|
280
280
|
Emit *shimprinter.EmitContext
|
|
281
281
|
}
|
|
282
282
|
|
|
283
|
-
var checkerProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
284
|
-
|
|
285
283
|
func (checkerProgrammerNamespace) Compose(props CheckerProgrammer_ComposeProps) FeatureProgrammer_IComposed {
|
|
286
284
|
return FeatureProgrammer.Compose(FeatureProgrammer_ComposeProps{
|
|
287
285
|
Context: props.Context,
|
|
@@ -322,7 +320,7 @@ func (checkerProgrammerNamespace) Write_union_functions(props CheckerProgrammer_
|
|
|
322
320
|
}
|
|
323
321
|
|
|
324
322
|
func (checkerProgrammerNamespace) Write_array_functions(props CheckerProgrammer_WriteArrayFunctionsProps) []*shimast.Node {
|
|
325
|
-
f := nativecontext.
|
|
323
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
326
324
|
arrays := props.Collection.Arrays()
|
|
327
325
|
output := []*shimast.Node{}
|
|
328
326
|
for _, typ := range arrays {
|
|
@@ -371,7 +369,7 @@ func (checkerProgrammerNamespace) Write_array_functions(props CheckerProgrammer_
|
|
|
371
369
|
}
|
|
372
370
|
|
|
373
371
|
func (checkerProgrammerNamespace) Write_tuple_functions(props CheckerProgrammer_WriteTupleFunctionsProps) []*shimast.Node {
|
|
374
|
-
f := nativecontext.
|
|
372
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
375
373
|
tuples := props.Collection.Tuples()
|
|
376
374
|
output := []*shimast.Node{}
|
|
377
375
|
for _, tuple := range tuples {
|
|
@@ -417,7 +415,7 @@ func (checkerProgrammerNamespace) Write_tuple_functions(props CheckerProgrammer_
|
|
|
417
415
|
}
|
|
418
416
|
|
|
419
417
|
func checkerProgrammer_configure(context nativecontext.ITypiaContext, config CheckerProgrammer_IConfig, functor *nativehelpers.FunctionProgrammer) FeatureProgrammer_IConfig {
|
|
420
|
-
f := nativecontext.
|
|
418
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
421
419
|
return FeatureProgrammer_IConfig{
|
|
422
420
|
Types: FeatureProgrammer_IConfig_ITypes{
|
|
423
421
|
Input: func(_ *shimchecker.Type, _ *string) *shimast.TypeNode {
|
|
@@ -544,7 +542,7 @@ func checkerProgrammer_configure(context nativecontext.ITypiaContext, config Che
|
|
|
544
542
|
},
|
|
545
543
|
Unionizer: func(next FeatureProgrammer_ObjectorUnionizerProps) *shimast.Node {
|
|
546
544
|
if config.Equals {
|
|
547
|
-
return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
|
|
545
|
+
return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{Emit: context.Emit,
|
|
548
546
|
Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
|
|
549
547
|
return CheckerProgrammer.Decode_object(CheckerProgrammer_DecodeObjectProps{
|
|
550
548
|
Config: config,
|
|
@@ -670,7 +668,7 @@ func checkerProgrammer_configure(context nativecontext.ITypiaContext, config Che
|
|
|
670
668
|
}
|
|
671
669
|
|
|
672
670
|
func (checkerProgrammerNamespace) Decode(props CheckerProgrammer_DecodeProps) *shimast.Node {
|
|
673
|
-
f := nativecontext.
|
|
671
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
674
672
|
if props.Metadata.Any {
|
|
675
673
|
return props.Config.Success
|
|
676
674
|
}
|
|
@@ -894,7 +892,7 @@ func (checkerProgrammerNamespace) Decode(props CheckerProgrammer_DecodeProps) *s
|
|
|
894
892
|
binaries = append(binaries, CheckerProgrammer_IBinary{
|
|
895
893
|
Expression: props.Config.Atomist(CheckerProgrammer_AtomistProps{
|
|
896
894
|
Explore: props.Explore,
|
|
897
|
-
Entry: nativeiterate.Check_template(nativeiterate.Check_templateProps{
|
|
895
|
+
Entry: nativeiterate.Check_template(nativeiterate.Check_templateProps{Emit: props.Context.Emit,
|
|
898
896
|
Context: props.Context,
|
|
899
897
|
Templates: props.Metadata.Templates,
|
|
900
898
|
Input: props.Input,
|
|
@@ -907,7 +905,7 @@ func (checkerProgrammerNamespace) Decode(props CheckerProgrammer_DecodeProps) *s
|
|
|
907
905
|
|
|
908
906
|
for _, native := range props.Metadata.Natives {
|
|
909
907
|
binaries = append(binaries, CheckerProgrammer_IBinary{
|
|
910
|
-
Expression: nativeiterate.Check_native(nativeiterate.Check_nativeProps{Name: native.Name, Input: props.Input}),
|
|
908
|
+
Expression: nativeiterate.Check_native(nativeiterate.Check_nativeProps{Emit: props.Context.Emit, Name: native.Name, Input: props.Input}),
|
|
911
909
|
Combined: false,
|
|
912
910
|
})
|
|
913
911
|
}
|
|
@@ -932,7 +930,7 @@ func (checkerProgrammerNamespace) Decode(props CheckerProgrammer_DecodeProps) *s
|
|
|
932
930
|
body = checkerProgrammer_explore_sets(checkerProgrammer_exploreSetsProps{Context: props.Context, Config: props.Config, Functor: props.Functor, Sets: props.Metadata.Sets, Input: props.Input, Explore: explore})
|
|
933
931
|
}
|
|
934
932
|
prepare(checkerProgrammer_IInstance{
|
|
935
|
-
Head: nativeiterate.Check_native(nativeiterate.Check_nativeProps{Name: "Set", Input: props.Input}),
|
|
933
|
+
Head: nativeiterate.Check_native(nativeiterate.Check_nativeProps{Emit: props.Context.Emit, Name: "Set", Input: props.Input}),
|
|
936
934
|
Expected: strings.Join(names, " | "),
|
|
937
935
|
Body: body,
|
|
938
936
|
})
|
|
@@ -953,7 +951,7 @@ func (checkerProgrammerNamespace) Decode(props CheckerProgrammer_DecodeProps) *s
|
|
|
953
951
|
body = checkerProgrammer_explore_maps(checkerProgrammer_exploreMapsProps{Context: props.Context, Config: props.Config, Functor: props.Functor, Maps: props.Metadata.Maps, Input: props.Input, Explore: explore})
|
|
954
952
|
}
|
|
955
953
|
prepare(checkerProgrammer_IInstance{
|
|
956
|
-
Head: nativeiterate.Check_native(nativeiterate.Check_nativeProps{Name: "Map", Input: props.Input}),
|
|
954
|
+
Head: nativeiterate.Check_native(nativeiterate.Check_nativeProps{Emit: props.Context.Emit, Name: "Map", Input: props.Input}),
|
|
957
955
|
Expected: strings.Join(names, " | "),
|
|
958
956
|
Body: body,
|
|
959
957
|
})
|
|
@@ -1103,7 +1101,7 @@ func (checkerProgrammerNamespace) Decode(props CheckerProgrammer_DecodeProps) *s
|
|
|
1103
1101
|
if props.Metadata.Escaped != nil {
|
|
1104
1102
|
var expression *shimast.Node
|
|
1105
1103
|
if props.Metadata.Escaped.Original.Size() == 1 && len(props.Metadata.Escaped.Original.Natives) == 1 {
|
|
1106
|
-
expression = nativeiterate.Check_native(nativeiterate.Check_nativeProps{Name: props.Metadata.Escaped.Original.Natives[0].Name, Input: props.Input})
|
|
1104
|
+
expression = nativeiterate.Check_native(nativeiterate.Check_nativeProps{Emit: props.Context.Emit, Name: props.Metadata.Escaped.Original.Natives[0].Name, Input: props.Input})
|
|
1107
1105
|
} else {
|
|
1108
1106
|
expression = checkerProgrammer_and(
|
|
1109
1107
|
CheckerProgrammer.Decode(CheckerProgrammer_DecodeProps{Context: props.Context, Config: props.Config, Functor: props.Functor, Metadata: props.Metadata.Escaped.Original, Input: props.Input, Explore: props.Explore}),
|
|
@@ -1234,7 +1232,7 @@ func checkerProgrammer_decode_array(props checkerProgrammer_decodeArrayProps) *s
|
|
|
1234
1232
|
if props.Array.Type.Recursive == false {
|
|
1235
1233
|
return checkerProgrammer_decode_array_inline(props)
|
|
1236
1234
|
}
|
|
1237
|
-
f := nativecontext.
|
|
1235
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1238
1236
|
arrayExplore := props.Explore
|
|
1239
1237
|
arrayExplore.Source = "function"
|
|
1240
1238
|
arrayExplore.From = "array"
|
|
@@ -1344,7 +1342,7 @@ func checkerProgrammer_decode_tuple(props checkerProgrammer_decodeTupleProps) *s
|
|
|
1344
1342
|
Explore: props.Explore,
|
|
1345
1343
|
})
|
|
1346
1344
|
}
|
|
1347
|
-
f := nativecontext.
|
|
1345
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1348
1346
|
arrayExplore := props.Explore
|
|
1349
1347
|
arrayExplore.Source = "function"
|
|
1350
1348
|
arrayExplore.From = "array"
|
|
@@ -1375,7 +1373,7 @@ func checkerProgrammer_decode_tuple(props checkerProgrammer_decodeTupleProps) *s
|
|
|
1375
1373
|
}
|
|
1376
1374
|
|
|
1377
1375
|
func checkerProgrammer_decode_tuple_inline(props checkerProgrammer_decodeTupleInlineProps) *shimast.Node {
|
|
1378
|
-
f := nativecontext.
|
|
1376
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1379
1377
|
binaries := []*shimast.Node{}
|
|
1380
1378
|
for index, metadata := range props.Tuple.Elements {
|
|
1381
1379
|
if metadata.Rest != nil {
|
|
@@ -1485,7 +1483,7 @@ type checkerProgrammer_decodeEscapedProps struct {
|
|
|
1485
1483
|
}
|
|
1486
1484
|
|
|
1487
1485
|
func checkerProgrammer_decode_escaped(props checkerProgrammer_decodeEscapedProps) *shimast.Node {
|
|
1488
|
-
f := nativecontext.
|
|
1486
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1489
1487
|
return f.NewCallExpression(
|
|
1490
1488
|
f.NewParenthesizedExpression(
|
|
1491
1489
|
f.NewArrowFunction(
|
|
@@ -1532,7 +1530,7 @@ type checkerProgrammer_exploreSetsProps struct {
|
|
|
1532
1530
|
}
|
|
1533
1531
|
|
|
1534
1532
|
func checkerProgrammer_explore_sets(props checkerProgrammer_exploreSetsProps) *shimast.Node {
|
|
1535
|
-
f := nativecontext.
|
|
1533
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1536
1534
|
return f.NewCallExpression(
|
|
1537
1535
|
nativehelpers.UnionExplorer.Set(nativehelpers.UnionExplorer_SetProps{
|
|
1538
1536
|
Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
@@ -1581,7 +1579,7 @@ type checkerProgrammer_exploreMapsProps struct {
|
|
|
1581
1579
|
}
|
|
1582
1580
|
|
|
1583
1581
|
func checkerProgrammer_explore_maps(props checkerProgrammer_exploreMapsProps) *shimast.Node {
|
|
1584
|
-
f := nativecontext.
|
|
1582
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1585
1583
|
return f.NewCallExpression(
|
|
1586
1584
|
nativehelpers.UnionExplorer.Map(nativehelpers.UnionExplorer_MapProps{
|
|
1587
1585
|
Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
@@ -1787,7 +1785,7 @@ type checkerProgrammer_exploreArrayLikeUnionTypesProps struct {
|
|
|
1787
1785
|
}
|
|
1788
1786
|
|
|
1789
1787
|
func checkerProgrammer_explore_array_like_union_types(props checkerProgrammer_exploreArrayLikeUnionTypesProps) *shimast.Node {
|
|
1790
|
-
f := nativecontext.
|
|
1788
|
+
f := nativecontext.NodeFactoryOf(props.Emit)
|
|
1791
1789
|
arrayExplore := props.Explore
|
|
1792
1790
|
arrayExplore.Source = "function"
|
|
1793
1791
|
arrayExplore.From = "array"
|
|
@@ -1808,7 +1806,7 @@ func checkerProgrammer_explore_array_like_union_types(props checkerProgrammer_ex
|
|
|
1808
1806
|
return props.Factory(checkerProgrammer_exploreArrayLikeUnionTypesFactoryProps{
|
|
1809
1807
|
Parameters: FeatureProgrammer.ParameterDeclarations(FeatureProgrammer_ParameterDeclarationsProps{
|
|
1810
1808
|
Config: FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
1811
|
-
Type: nativefactories.TypeFactory.Keyword("any"),
|
|
1809
|
+
Type: nativefactories.TypeFactory.Keyword("any", props.Emit),
|
|
1812
1810
|
Input: f.NewIdentifier("input"),
|
|
1813
1811
|
Emit: props.Emit,
|
|
1814
1812
|
}),
|
|
@@ -1864,7 +1862,7 @@ func checkerProgrammer_explore_objects(props checkerProgrammer_exploreObjectsPro
|
|
|
1864
1862
|
names = append(names, object.GetDisplayName())
|
|
1865
1863
|
}
|
|
1866
1864
|
expected := "(" + strings.Join(names, " | ") + ")"
|
|
1867
|
-
f := nativecontext.
|
|
1865
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1868
1866
|
statements := make([]*shimast.Node, 0, len(props.Metadata.Objects)+1)
|
|
1869
1867
|
for _, object := range props.Metadata.Objects {
|
|
1870
1868
|
statements = append(statements, f.NewIfStatement(
|
|
@@ -1901,7 +1899,7 @@ func checkerProgrammer_explore_objects(props checkerProgrammer_exploreObjectsPro
|
|
|
1901
1899
|
shimast.NodeFlagsNone,
|
|
1902
1900
|
)
|
|
1903
1901
|
}
|
|
1904
|
-
f := nativecontext.
|
|
1902
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1905
1903
|
index := 0
|
|
1906
1904
|
if props.Metadata.Union_index != nil {
|
|
1907
1905
|
index = *props.Metadata.Union_index
|
|
@@ -1986,7 +1984,7 @@ func checkerProgrammer_decode_object_reference(props checkerProgrammer_decodeObj
|
|
|
1986
1984
|
}
|
|
1987
1985
|
|
|
1988
1986
|
func checkerProgrammer_entry_condition(entry nativehelpers.ICheckEntry, emit *shimprinter.EmitContext) *shimast.Node {
|
|
1989
|
-
f := nativecontext.
|
|
1987
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
1990
1988
|
expressions := []*shimast.Node{}
|
|
1991
1989
|
if entry.Expression != nil {
|
|
1992
1990
|
expressions = append(expressions, entry.Expression)
|
|
@@ -2042,7 +2040,7 @@ func checkerProgrammer_definitions_have_array_type_tags(definitions []any) bool
|
|
|
2042
2040
|
}
|
|
2043
2041
|
|
|
2044
2042
|
func checkerProgrammer_array_tag_candidate(context nativecontext.ITypiaContext) func(nativehelpers.UnionExplorer_ArrayLikeCandidateProps) *shimast.Node {
|
|
2045
|
-
f := nativecontext.
|
|
2043
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
2046
2044
|
return func(props nativehelpers.UnionExplorer_ArrayLikeCandidateProps) *shimast.Node {
|
|
2047
2045
|
array, ok := props.Definition.(*nativemetadata.MetadataArray)
|
|
2048
2046
|
if ok == false {
|
|
@@ -2057,7 +2055,7 @@ func checkerProgrammer_array_tag_candidate(context nativecontext.ITypiaContext)
|
|
|
2057
2055
|
}
|
|
2058
2056
|
|
|
2059
2057
|
func checkerProgrammer_array_like_config(context nativecontext.ITypiaContext, config CheckerProgrammer_IConfig, functor *nativehelpers.FunctionProgrammer, checker func(v nativehelpers.UnionExplorer_ArrayLikeCheckerProps) *shimast.Node, decoder func(v nativehelpers.UnionExplorer_ArrayLikeDecoderProps) *shimast.Node) nativehelpers.UnionExplorer_ArrayLikeConfig {
|
|
2060
|
-
f := nativecontext.
|
|
2058
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
2061
2059
|
return nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
2062
2060
|
Checker: checker,
|
|
2063
2061
|
Decoder: decoder,
|
|
@@ -2095,7 +2093,7 @@ func checkerProgrammer_create_add(binaries *[]CheckerProgrammer_IBinary, input *
|
|
|
2095
2093
|
}
|
|
2096
2094
|
|
|
2097
2095
|
func checkerProgrammer_binary(left *shimast.Expression, operator shimast.Kind, right *shimast.Expression, emit *shimprinter.EmitContext) *shimast.Node {
|
|
2098
|
-
f := nativecontext.
|
|
2096
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
2099
2097
|
return f.NewBinaryExpression(
|
|
2100
2098
|
nil,
|
|
2101
2099
|
left,
|
|
@@ -2128,7 +2126,7 @@ func checkerProgrammer_and(x *shimast.Expression, y *shimast.Expression, emit *s
|
|
|
2128
2126
|
// value cannot poison sibling checks; each recursive function owns its own
|
|
2129
2127
|
// `_vctx` slot for the same reason.
|
|
2130
2128
|
func checkerProgrammer_visit_guard(key string, body *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
2131
|
-
f := nativecontext.
|
|
2129
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
2132
2130
|
slot := "_vctx." + key
|
|
2133
2131
|
return nativefactories.ExpressionFactory.Conditional(
|
|
2134
2132
|
f.NewIdentifier("("+slot+" || ("+slot+" = new WeakSet())).has(input)"),
|
|
@@ -2234,7 +2232,7 @@ func checkerProgrammer_decode_to_json(props struct {
|
|
|
2234
2232
|
CheckNull bool
|
|
2235
2233
|
Emit *shimprinter.EmitContext
|
|
2236
2234
|
}) *shimast.Node {
|
|
2237
|
-
f := nativecontext.
|
|
2235
|
+
f := nativecontext.NodeFactoryOf(props.Emit)
|
|
2238
2236
|
return checkerProgrammer_and(
|
|
2239
2237
|
nativefactories.ExpressionFactory.IsObject(nativefactories.ExpressionFactory_IsObjectProps{
|
|
2240
2238
|
CheckArray: false,
|
|
@@ -555,7 +555,7 @@ func (featureProgrammerNamespace) CollectionRecursive(collection *nativemetadata
|
|
|
555
555
|
// the skip both the cycle breaker and the DAG deduplication. Handles the
|
|
556
556
|
// block bodies the prune joiner produces as well as expression bodies.
|
|
557
557
|
func (featureProgrammerNamespace) VisitGuardSkip(key string, body *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
558
|
-
f := nativecontext.
|
|
558
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
559
559
|
slot := "_vctx." + key
|
|
560
560
|
has := f.NewIdentifier("(" + slot + " || (" + slot + " = new WeakSet())).has(input)")
|
|
561
561
|
add := f.NewIdentifier(slot + ".add(input)")
|
|
@@ -591,14 +591,14 @@ func (featureProgrammerNamespace) VisitGuardSkip(key string, body *shimast.Node,
|
|
|
591
591
|
// way, because re-serializing a DAG alias at another position is legal and
|
|
592
592
|
// must keep working.
|
|
593
593
|
func (featureProgrammerNamespace) VisitGuardSerialize(key string, thrower *shimast.Node, body *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
594
|
-
f := nativecontext.
|
|
594
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
595
595
|
slot := "_vctx." + key
|
|
596
596
|
bodyExpression := featureProgrammer_block_to_expression(body, emit)
|
|
597
597
|
finisher := f.NewArrowFunction(
|
|
598
598
|
nil,
|
|
599
599
|
nil,
|
|
600
600
|
f.NewNodeList([]*shimast.Node{
|
|
601
|
-
nativefactories.IdentifierFactory.Parameter("_vout", nativefactories.TypeFactory.Keyword("any"), nil),
|
|
601
|
+
nativefactories.IdentifierFactory.Parameter("_vout", nativefactories.TypeFactory.Keyword("any", emit), nil, emit),
|
|
602
602
|
}),
|
|
603
603
|
nil,
|
|
604
604
|
nil,
|
|
@@ -642,7 +642,7 @@ func (featureProgrammerNamespace) VisitGuardSerialize(key string, thrower *shima
|
|
|
642
642
|
// so recursive references inside the body resolve to the same (still
|
|
643
643
|
// filling) instance, exactly like the structured-clone algorithm.
|
|
644
644
|
func (featureProgrammerNamespace) VisitGuardRebuild(key string, array bool, body *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
645
|
-
f := nativecontext.
|
|
645
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
646
646
|
allocator := f.NewObjectLiteralExpression(f.NewNodeList(nil), false)
|
|
647
647
|
if array {
|
|
648
648
|
allocator = f.NewArrayLiteralExpression(f.NewNodeList(nil), false)
|
|
@@ -659,14 +659,14 @@ func (featureProgrammerNamespace) VisitGuardRebuild(key string, array bool, body
|
|
|
659
659
|
// registers in the WeakMap BEFORE the body evaluates, so a back-reference
|
|
660
660
|
// inside the body resolves to this same (still filling) instance.
|
|
661
661
|
func (featureProgrammerNamespace) VisitGuardRebuildWith(key string, allocator *shimast.Node, body *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
662
|
-
f := nativecontext.
|
|
662
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
663
663
|
slot := "_vctx." + key
|
|
664
664
|
bodyExpression := featureProgrammer_block_to_expression(body, emit)
|
|
665
665
|
filler := f.NewArrowFunction(
|
|
666
666
|
nil,
|
|
667
667
|
nil,
|
|
668
668
|
f.NewNodeList([]*shimast.Node{
|
|
669
|
-
nativefactories.IdentifierFactory.Parameter("_vout", nativefactories.TypeFactory.Keyword("any"), nil),
|
|
669
|
+
nativefactories.IdentifierFactory.Parameter("_vout", nativefactories.TypeFactory.Keyword("any", emit), nil, emit),
|
|
670
670
|
}),
|
|
671
671
|
nil,
|
|
672
672
|
nil,
|
|
@@ -711,8 +711,6 @@ func featureProgrammer_block_to_expression(body *shimast.Node, emit *shimprinter
|
|
|
711
711
|
return body
|
|
712
712
|
}
|
|
713
713
|
|
|
714
|
-
var featureProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
715
|
-
|
|
716
714
|
func (featureProgrammerNamespace) Compose(props FeatureProgrammer_ComposeProps) FeatureProgrammer_IComposed {
|
|
717
715
|
initialized := props.Config.Initializer(FeatureProgrammer_InitializerProps{
|
|
718
716
|
Context: props.Context,
|
|
@@ -763,7 +761,7 @@ func (featureProgrammerNamespace) Compose(props FeatureProgrammer_ComposeProps)
|
|
|
763
761
|
}
|
|
764
762
|
|
|
765
763
|
func (featureProgrammerNamespace) WriteDecomposed(props FeatureProgrammer_WriteDecomposedProps) *shimast.Node {
|
|
766
|
-
f := nativecontext.
|
|
764
|
+
f := nativecontext.NodeFactoryOf(props.Emit)
|
|
767
765
|
statements := []*shimast.Node{}
|
|
768
766
|
statements = append(statements, props.Functor.Declare()...)
|
|
769
767
|
keys := make([]string, 0, len(props.Result.Functions))
|
|
@@ -801,7 +799,7 @@ func (featureProgrammerNamespace) WriteDecomposed(props FeatureProgrammer_WriteD
|
|
|
801
799
|
}
|
|
802
800
|
|
|
803
801
|
func (featureProgrammerNamespace) Write(props FeatureProgrammer_WriteProps) *shimast.Node {
|
|
804
|
-
f := nativecontext.
|
|
802
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
805
803
|
initialized := props.Config.Initializer(FeatureProgrammer_InitializerProps{
|
|
806
804
|
Context: props.Context,
|
|
807
805
|
Functor: props.Functor,
|
|
@@ -882,14 +880,14 @@ func (featureProgrammerNamespace) Write_union_functions(props FeatureProgrammer_
|
|
|
882
880
|
}
|
|
883
881
|
|
|
884
882
|
func (featureProgrammerNamespace) Decode_array(props FeatureProgrammer_DecodeArrayProps) *shimast.Node {
|
|
885
|
-
f := nativecontext.
|
|
883
|
+
f := nativecontext.NodeFactoryOf(props.Emit)
|
|
886
884
|
rand := fmt.Sprint(props.Functor.Increment())
|
|
887
885
|
tail := []*shimast.Node{}
|
|
888
886
|
if props.Config.Path || props.Config.Trace {
|
|
889
|
-
tail = append(tail, nativefactories.IdentifierFactory.Parameter("_index"+rand, nativefactories.TypeFactory.Keyword("number"), nil))
|
|
887
|
+
tail = append(tail, nativefactories.IdentifierFactory.Parameter("_index"+rand, nativefactories.TypeFactory.Keyword("number", props.Emit), nil, props.Emit))
|
|
890
888
|
}
|
|
891
889
|
parameters := []*shimast.Node{
|
|
892
|
-
nativefactories.IdentifierFactory.Parameter("elem", nativefactories.TypeFactory.Keyword("any"), nil),
|
|
890
|
+
nativefactories.IdentifierFactory.Parameter("elem", nativefactories.TypeFactory.Keyword("any", props.Emit), nil, props.Emit),
|
|
893
891
|
}
|
|
894
892
|
parameters = append(parameters, tail...)
|
|
895
893
|
arrow := f.NewArrowFunction(
|
|
@@ -900,7 +898,7 @@ func (featureProgrammerNamespace) Decode_array(props FeatureProgrammer_DecodeArr
|
|
|
900
898
|
nil,
|
|
901
899
|
f.NewToken(shimast.KindEqualsGreaterThanToken),
|
|
902
900
|
props.Config.Decoder(FeatureProgrammer_DecoderProps{
|
|
903
|
-
Input: nativefactories.ValueFactory.INPUT(
|
|
901
|
+
Input: nativefactories.ValueFactory.INPUT(props.Emit, "elem"),
|
|
904
902
|
Metadata: props.Array.Type.Value,
|
|
905
903
|
Explore: FeatureProgrammer_IExplore{
|
|
906
904
|
Tracable: props.Explore.Tracable,
|
|
@@ -921,7 +919,7 @@ func (featureProgrammerNamespace) Decode_array(props FeatureProgrammer_DecodeArr
|
|
|
921
919
|
}
|
|
922
920
|
|
|
923
921
|
func (featureProgrammerNamespace) Decode_object(props FeatureProgrammer_DecodeObjectProps) *shimast.Node {
|
|
924
|
-
f := nativecontext.
|
|
922
|
+
f := nativecontext.NodeFactoryOf(props.Emit)
|
|
925
923
|
return f.NewCallExpression(
|
|
926
924
|
f.NewIdentifier(
|
|
927
925
|
props.Functor.UseLocal(fmt.Sprintf("%so%d", props.Config.Prefix, props.Object.Index)),
|
|
@@ -953,7 +951,7 @@ func (featureProgrammerNamespace) Index(props FeatureProgrammer_IndexProps) stri
|
|
|
953
951
|
}
|
|
954
952
|
|
|
955
953
|
func (featureProgrammerNamespace) ArgumentsArray(props FeatureProgrammer_ArgumentsArrayProps) []*shimast.Node {
|
|
956
|
-
f := nativecontext.
|
|
954
|
+
f := nativecontext.NodeFactoryOf(props.Emit)
|
|
957
955
|
tail := []*shimast.Node{}
|
|
958
956
|
if props.Config.Path == false && props.Config.Trace == false {
|
|
959
957
|
tail = []*shimast.Node{}
|
|
@@ -992,16 +990,16 @@ func (featureProgrammerNamespace) ArgumentsArray(props FeatureProgrammer_Argumen
|
|
|
992
990
|
}
|
|
993
991
|
|
|
994
992
|
func (featureProgrammerNamespace) ParameterDeclarations(props FeatureProgrammer_ParameterDeclarationsProps) []*shimast.Node {
|
|
995
|
-
f := nativecontext.
|
|
993
|
+
f := nativecontext.NodeFactoryOf(props.Emit)
|
|
996
994
|
tail := []*shimast.Node{}
|
|
997
995
|
if props.Config.Path {
|
|
998
|
-
tail = append(tail, nativefactories.IdentifierFactory.Parameter("_path", nativefactories.TypeFactory.Keyword("string"), nil))
|
|
996
|
+
tail = append(tail, nativefactories.IdentifierFactory.Parameter("_path", nativefactories.TypeFactory.Keyword("string", props.Emit), nil, props.Emit))
|
|
999
997
|
}
|
|
1000
998
|
if props.Config.Trace {
|
|
1001
999
|
tail = append(tail, nativefactories.IdentifierFactory.Parameter(
|
|
1002
1000
|
"_exceptionable",
|
|
1003
|
-
nativefactories.TypeFactory.Keyword("boolean"),
|
|
1004
|
-
f.NewKeywordExpression(shimast.KindTrueKeyword),
|
|
1001
|
+
nativefactories.TypeFactory.Keyword("boolean", props.Emit),
|
|
1002
|
+
f.NewKeywordExpression(shimast.KindTrueKeyword), props.Emit,
|
|
1005
1003
|
))
|
|
1006
1004
|
}
|
|
1007
1005
|
if props.Config.Visited {
|
|
@@ -1009,12 +1007,12 @@ func (featureProgrammerNamespace) ParameterDeclarations(props FeatureProgrammer_
|
|
|
1009
1007
|
// so the default object literal only materializes at the public entry.
|
|
1010
1008
|
tail = append(tail, nativefactories.IdentifierFactory.Parameter(
|
|
1011
1009
|
"_vctx",
|
|
1012
|
-
nativefactories.TypeFactory.Keyword("any"),
|
|
1013
|
-
f.NewObjectLiteralExpression(f.NewNodeList(nil), false),
|
|
1010
|
+
nativefactories.TypeFactory.Keyword("any", props.Emit),
|
|
1011
|
+
f.NewObjectLiteralExpression(f.NewNodeList(nil), false), props.Emit,
|
|
1014
1012
|
))
|
|
1015
1013
|
}
|
|
1016
1014
|
return append([]*shimast.Node{
|
|
1017
|
-
nativefactories.IdentifierFactory.Parameter(props.Input, props.Type, nil),
|
|
1015
|
+
nativefactories.IdentifierFactory.Parameter(props.Input, props.Type, nil, props.Emit),
|
|
1018
1016
|
}, tail...)
|
|
1019
1017
|
}
|
|
1020
1018
|
|
|
@@ -1254,7 +1252,7 @@ func featureProgrammer_register_schema_unions_iterate(collection *nativemetadata
|
|
|
1254
1252
|
}
|
|
1255
1253
|
|
|
1256
1254
|
func featureProgrammer_write_object_functions(config FeatureProgrammer_IConfig, context nativecontext.ITypiaContext, functor *nativehelpers.FunctionProgrammer, collection *nativemetadata.MetadataCollection) []*shimast.Node {
|
|
1257
|
-
f := nativecontext.
|
|
1255
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
1258
1256
|
objects := collection.Objects()
|
|
1259
1257
|
propertyFrequencies := featureProgrammer_object_property_frequencies(config, context, functor, objects)
|
|
1260
1258
|
output := make([]*shimast.Node, 0, len(objects))
|
|
@@ -1343,7 +1341,7 @@ func featureProgrammer_write_object_functions(config FeatureProgrammer_IConfig,
|
|
|
1343
1341
|
nil,
|
|
1344
1342
|
f.NewNodeList(FeatureProgrammer.ParameterDeclarations(FeatureProgrammer_ParameterDeclarationsProps{
|
|
1345
1343
|
Config: FeatureProgrammer_ParameterConfig{Path: config.Path, Trace: config.Trace, Visited: featureProgrammer_visited(config)},
|
|
1346
|
-
Type: nativefactories.TypeFactory.Keyword("any"),
|
|
1344
|
+
Type: nativefactories.TypeFactory.Keyword("any", context.Emit),
|
|
1347
1345
|
Input: nativefactories.ValueFactory.INPUT(context.Emit),
|
|
1348
1346
|
Emit: context.Emit,
|
|
1349
1347
|
})),
|
|
@@ -1415,7 +1413,7 @@ func featureProgrammer_object_property_helper_key(
|
|
|
1415
1413
|
}
|
|
1416
1414
|
|
|
1417
1415
|
func featureProgrammer_object_property_helper_call(props featureProgrammer_objectPropertyHelperProps) *shimast.Node {
|
|
1418
|
-
f := nativecontext.
|
|
1416
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1419
1417
|
helper := props.Functor.EmplaceVariableByKey(props.Config.Prefix+"p", props.Key, func(string) *shimast.Expression {
|
|
1420
1418
|
input := nativefactories.ValueFactory.INPUT(props.Context.Emit)
|
|
1421
1419
|
propertyInput := featureProgrammer_object_property_input(input, props.Next.Key, props.Context.Emit)
|
|
@@ -1429,7 +1427,7 @@ func featureProgrammer_object_property_helper_call(props featureProgrammer_objec
|
|
|
1429
1427
|
nil,
|
|
1430
1428
|
f.NewNodeList(FeatureProgrammer.ParameterDeclarations(FeatureProgrammer_ParameterDeclarationsProps{
|
|
1431
1429
|
Config: FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: featureProgrammer_visited(props.Config)},
|
|
1432
|
-
Type: nativefactories.TypeFactory.Keyword("any"),
|
|
1430
|
+
Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
|
|
1433
1431
|
Input: input,
|
|
1434
1432
|
Emit: props.Context.Emit,
|
|
1435
1433
|
})),
|
|
@@ -1459,7 +1457,7 @@ func featureProgrammer_object_property_helper_call(props featureProgrammer_objec
|
|
|
1459
1457
|
}
|
|
1460
1458
|
|
|
1461
1459
|
func featureProgrammer_object_property_input(input *shimast.Expression, key *string, emit ...*shimprinter.EmitContext) *shimast.Node {
|
|
1462
|
-
f := nativecontext.
|
|
1460
|
+
f := nativecontext.NodeFactoryOf(emit...)
|
|
1463
1461
|
if key == nil {
|
|
1464
1462
|
return f.NewIdentifier("value")
|
|
1465
1463
|
}
|
|
@@ -1481,7 +1479,7 @@ func featureProgrammer_write_union_functions(config FeatureProgrammer_IConfig, c
|
|
|
1481
1479
|
Config FeatureProgrammer_IConfig
|
|
1482
1480
|
Objects []*nativemetadata.MetadataObjectType
|
|
1483
1481
|
}{Config: config, Objects: union}, emit),
|
|
1484
|
-
}))
|
|
1482
|
+
}, emit))
|
|
1485
1483
|
}
|
|
1486
1484
|
return output
|
|
1487
1485
|
}
|
|
@@ -1490,17 +1488,17 @@ func featureProgrammer_write_union(props struct {
|
|
|
1490
1488
|
Config FeatureProgrammer_IConfig
|
|
1491
1489
|
Objects []*nativemetadata.MetadataObjectType
|
|
1492
1490
|
}, emit *shimprinter.EmitContext) *shimast.Node {
|
|
1493
|
-
f := nativecontext.
|
|
1491
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
1494
1492
|
return f.NewArrowFunction(
|
|
1495
1493
|
nil,
|
|
1496
1494
|
nil,
|
|
1497
1495
|
f.NewNodeList(FeatureProgrammer.ParameterDeclarations(FeatureProgrammer_ParameterDeclarationsProps{
|
|
1498
1496
|
Config: FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: featureProgrammer_visited(props.Config)},
|
|
1499
|
-
Type: nativefactories.TypeFactory.Keyword("any"),
|
|
1500
|
-
Input: nativefactories.ValueFactory.INPUT(
|
|
1497
|
+
Type: nativefactories.TypeFactory.Keyword("any", emit),
|
|
1498
|
+
Input: nativefactories.ValueFactory.INPUT(emit),
|
|
1501
1499
|
Emit: emit,
|
|
1502
1500
|
})),
|
|
1503
|
-
nativefactories.TypeFactory.Keyword("any"),
|
|
1501
|
+
nativefactories.TypeFactory.Keyword("any", emit),
|
|
1504
1502
|
nil,
|
|
1505
1503
|
f.NewToken(shimast.KindEqualsGreaterThanToken),
|
|
1506
1504
|
nativehelpers.UnionExplorer.Object(nativehelpers.UnionExplorer_ObjectProps{
|
|
@@ -1508,7 +1506,7 @@ func featureProgrammer_write_union(props struct {
|
|
|
1508
1506
|
Objector: featureProgrammer_union_objector(props.Config.Objector),
|
|
1509
1507
|
},
|
|
1510
1508
|
Objects: props.Objects,
|
|
1511
|
-
Input: nativefactories.ValueFactory.INPUT(
|
|
1509
|
+
Input: nativefactories.ValueFactory.INPUT(emit),
|
|
1512
1510
|
Explore: FeatureProgrammer_IExplore{
|
|
1513
1511
|
Tracable: props.Config.Path || props.Config.Trace,
|
|
1514
1512
|
Source: "function",
|
|
@@ -29,7 +29,7 @@ type Check_bigintProps struct {
|
|
|
29
29
|
// @evidence contracts/common.md#prohibited-implementation-shortcuts Its inputs are its arguments and the context they carry, and it keeps no state of its own.
|
|
30
30
|
// @evidence contracts/common.md#meaningful-documentation The doc states what it builds.
|
|
31
31
|
func Check_bigint(props Check_bigintProps) nativehelpers.ICheckEntry {
|
|
32
|
-
f := nativecontext.
|
|
32
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
33
33
|
conditions := check_bigint_type_tags(props)
|
|
34
34
|
return nativehelpers.ICheckEntry{
|
|
35
35
|
Expected: props.Atomic.GetName(),
|
|
@@ -86,7 +86,5 @@ func check_bigint_transpile(context nativecontext.ITypiaContext, script string)
|
|
|
86
86
|
return nativefactories.ExpressionFactory.Transpile(nativefactories.ExpressionFactory_TranspileProps{
|
|
87
87
|
Importer: importer,
|
|
88
88
|
Script: script,
|
|
89
|
-
})
|
|
89
|
+
}, context.Emit)
|
|
90
90
|
}
|
|
91
|
-
|
|
92
|
-
var check_bigint_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|