533 references to AtsTypeCategory
aspire-managed (1)
AppHostServerV2CodeGeneration.cs (1)
114if (type.Category == AtsTypeCategory.Handle)
Aspire.Hosting.CodeGeneration.Go (37)
AtsGoCodeGenerator.ApiProjection.cs (2)
724var returnsHandle = hasReturn && returnType!.Category == AtsTypeCategory.Handle; 1116if (typeRef.Category == AtsTypeCategory.Handle && typeRef.ClrType is { } clrType)
AtsGoCodeGenerator.cs (34)
452if (typeRef.Category == AtsTypeCategory.Handle) 987AtsTypeCategory.Primitive => RenderGoJsonValue(value), 988AtsTypeCategory.Enum => $"{MapEnumType(typeRef.TypeId)}({RenderGoJsonValue(value)})", 989AtsTypeCategory.Dto when value is JsonObject obj && dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoInfo) 991AtsTypeCategory.Array or AtsTypeCategory.List when value is JsonArray arr 993AtsTypeCategory.Dict when value is JsonObject obj 1003var valueType = typeRef.Category == AtsTypeCategory.Primitive 1241if (capability.ReturnType.Category != AtsTypeCategory.List 1242&& capability.ReturnType.Category != AtsTypeCategory.Dict) 1609if (returnType.Category != AtsTypeCategory.Handle) 1822if (p.Type?.Category != AtsTypeCategory.Handle) { continue; } 2009else if (p.CallbackParameters is { Count: > 0 } callbackParameters && callbackParameters.Any(cp => cp.Type.Category == AtsTypeCategory.Dto)) 2023if (callbackParameters[i].Type.Category == AtsTypeCategory.Dto) 2047&& type.Category == AtsTypeCategory.Handle 2078if (returnType.Category == AtsTypeCategory.Dict) 2284if (p.Type?.Category == AtsTypeCategory.Union) 2388if (hasReturn && capability.ReturnType!.Category == AtsTypeCategory.Handle) 2611AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 2612AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 2613AtsTypeCategory.Handle => MapHandleType(typeRef.TypeId, asInput), 2614AtsTypeCategory.Dto => "*" + MapDtoType(typeRef.TypeId), 2615AtsTypeCategory.Callback => "func(...any) any", 2616AtsTypeCategory.Array => $"[]{MapTypeRefToGo(typeRef.ElementType, false, asInput)}", 2617AtsTypeCategory.List => typeRef.IsReadOnly 2620AtsTypeCategory.Dict => typeRef.IsReadOnly 2623AtsTypeCategory.Union => "any", 2624AtsTypeCategory.Unknown => "any", 2649AtsTypeCategory.Array or AtsTypeCategory.List => $"[]{MapDtoPropertyTypeToGo(typeRef.ElementType, false)}", 2650AtsTypeCategory.Dict => $"map[{MapDtoPropertyTypeToGo(typeRef.KeyType, false)}]{MapDtoPropertyTypeToGo(typeRef.ValueType, false)}", 2651AtsTypeCategory.Union => "any", 2675&& typeRef.Category is AtsTypeCategory.Primitive or AtsTypeCategory.Enum
src\Shared\CodeGeneration\AtsOptionsFlattening.cs (1)
54if (candidate.Type?.Category != AtsTypeCategory.Dto)
Aspire.Hosting.CodeGeneration.Go.Tests (24)
AtsGoDerivedBuilderTests.cs (10)
489private static readonly AtsTypeRef s_builder = new() { TypeId = AtsConstants.BuilderTypeId, Category = AtsTypeCategory.Handle, IsInterface = true }; 496private static readonly AtsTypeRef s_string = new() { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive }; 497private static readonly AtsTypeRef s_poolSettings = new() { TypeId = PoolSettingsId, Category = AtsTypeCategory.Dto }; 614private static AtsTypeRef Handle(string typeId) => new() { TypeId = typeId, Category = AtsTypeCategory.Handle }; 619Category = AtsTypeCategory.Array, 627Category = AtsTypeCategory.List, 634Category = AtsTypeCategory.Dict, 643Category = AtsTypeCategory.Union, 654Type = new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback }, 657CallbackReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }
GoDocCommentTests.cs (6)
361var resourceType = new AtsTypeRef { TypeId = ResourceTypeId, Category = AtsTypeCategory.Handle }; 362var settingsType = new AtsTypeRef { TypeId = SettingsTypeId, Category = AtsTypeCategory.Dto }; 363var statusType = new AtsTypeRef { TypeId = StatusTypeId, Category = AtsTypeCategory.Enum }; 364var tagsType = new AtsTypeRef { TypeId = "Tests/List<string>", Category = AtsTypeCategory.List, ElementType = stringType }; 475private static AtsTypeRef Primitive(string typeId) => new() { TypeId = typeId, Category = AtsTypeCategory.Primitive }; 496var resourceType = new AtsTypeRef { TypeId = ResourceTypeId, Category = AtsTypeCategory.Handle };
GoGeneratorEscapingTests.cs (8)
95var tagsType = new AtsTypeRef { TypeId = "Tests/List<string>", Category = AtsTypeCategory.List, ElementType = stringType }; 96var unionType = new AtsTypeRef { TypeId = "Tests/Union", Category = AtsTypeCategory.Union, UnionTypes = [stringType, numberType] }; 97var callbackType = new AtsTypeRef { TypeId = "Tests/Callback", Category = AtsTypeCategory.Callback }; 98var enumType = new AtsTypeRef { TypeId = StatusTypeId, Category = AtsTypeCategory.Enum }; 99var lookupType = new AtsTypeRef { TypeId = "Tests/Dict<string,string>", Category = AtsTypeCategory.Dict, KeyType = stringType, ValueType = stringType, IsReadOnly = true }; 100var unknownType = new AtsTypeRef { TypeId = "Tests/Unknown", Category = AtsTypeCategory.Unknown }; 197private static AtsTypeRef Primitive(string typeId) => new() { TypeId = typeId, Category = AtsTypeCategory.Primitive }; 199private static AtsTypeRef Handle(string typeId) => new() { TypeId = typeId, Category = AtsTypeCategory.Handle };
Aspire.Hosting.CodeGeneration.Java (41)
AtsJavaCodeGenerator.cs (41)
879AtsTypeCategory.Primitive => value.ToRelaxedJsonString(), 880AtsTypeCategory.Enum => $"{MapTypeRefToJava(typeRef, false)}.fromValue({value.ToRelaxedJsonString()})", 881AtsTypeCategory.Dto when value is JsonObject obj && dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoInfo) 883AtsTypeCategory.Array when value is JsonArray arr 885AtsTypeCategory.List when value is JsonArray arr 887AtsTypeCategory.Dict when value is JsonObject obj 1139if (parameter.IsCallback || parameter.Type?.Category != AtsTypeCategory.Handle) 2063AtsTypeCategory.Primitive => RenderJavaPrimitiveTransportValueConversion(typeRef.TypeId, valueExpression, allowNull), 2064AtsTypeCategory.Enum => RenderJavaEnumTransportValueConversion(typeRef.TypeId, valueExpression, allowNull), 2065AtsTypeCategory.Dto => RenderJavaDtoTransportValueConversion(typeRef.TypeId, valueExpression, allowNull), 2066AtsTypeCategory.Handle => $"({MapTypeRefToJava(typeRef, allowNull)}) {valueExpression}", 2067AtsTypeCategory.Array => RenderJavaArrayTransportValueConversion(typeRef, valueExpression, allowNull, depth), 2068AtsTypeCategory.List => RenderJavaListTransportValueConversion(typeRef, valueExpression, allowNull, depth), 2069AtsTypeCategory.Dict => $"({MapTypeRefToJava(typeRef, allowNull, useBoxedTypes: true)}) {valueExpression}", 2070AtsTypeCategory.Union => $"AspireUnion.of({valueExpression})", 2102if (typeRef?.Category is not (AtsTypeCategory.Dict or AtsTypeCategory.Array or AtsTypeCategory.List)) 2109if (typeRef.Category == AtsTypeCategory.List) 2125if (typeRef.Category == AtsTypeCategory.Array) 2251return returnType.Category == AtsTypeCategory.List || returnType.Category == AtsTypeCategory.Dict; 2257var isDict = returnType.Category == AtsTypeCategory.Dict; 2576AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId, isOptional || useBoxedTypes), 2577AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 2578AtsTypeCategory.Handle => MapHandleType(typeRef.TypeId), 2579AtsTypeCategory.Dto => MapDtoType(typeRef.TypeId), 2580AtsTypeCategory.Callback => "Object", 2581AtsTypeCategory.Array => $"{MapTypeRefToJava(typeRef.ElementType, typeRef.ElementType?.IsNullable == true)}[]", 2582AtsTypeCategory.List => typeRef.IsReadOnly 2585AtsTypeCategory.Dict => typeRef.IsReadOnly 2588AtsTypeCategory.Union => "AspireUnion", 2589AtsTypeCategory.Unknown => "Object", 2608AtsTypeCategory.Array => $"{MapDtoPropertyTypeToJava(typeRef.ElementType, typeRef.ElementType?.IsNullable == true)}[]", 2609AtsTypeCategory.List => $"List<{MapDtoPropertyTypeToJava(typeRef.ElementType, false, useBoxedTypes: true)}>", 2610AtsTypeCategory.Dict => $"Map<{MapDtoPropertyTypeToJava(typeRef.KeyType, false, useBoxedTypes: true)}, {MapDtoPropertyTypeToJava(typeRef.ValueType, false, useBoxedTypes: true)}>", 2611AtsTypeCategory.Union => "AspireUnion", 2680private static bool IsUnionType(AtsTypeRef? typeRef) => typeRef?.Category == AtsTypeCategory.Union; 2703if (typeRef.Category == AtsTypeCategory.Handle) 2716if (typeRef.Category == AtsTypeCategory.List) 2723else if (typeRef.Category == AtsTypeCategory.Dict)
Aspire.Hosting.CodeGeneration.Java.Tests (44)
AtsJavaCodeGeneratorTests.cs (44)
2698new AtsTypeRef { TypeId = "array", Category = AtsTypeCategory.Array, ElementType = MutableStringDict() }); 2714Category = AtsTypeCategory.List, 2728var stringType = new AtsTypeRef { TypeId = "string", Category = AtsTypeCategory.Primitive }; 2729var innerArray = new AtsTypeRef { TypeId = "array", Category = AtsTypeCategory.Array, ElementType = stringType }; 2732new AtsTypeRef { TypeId = "array", Category = AtsTypeCategory.Array, ElementType = innerArray }); 2775var resourceType = new AtsTypeRef { TypeId = "Tests/ProbeResource", Category = AtsTypeCategory.Handle }; 2776var stringType = new AtsTypeRef { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive }; 2777var innerArray = new AtsTypeRef { TypeId = "array", Category = AtsTypeCategory.Array, ElementType = stringType }; 2778var matrixType = new AtsTypeRef { TypeId = "array", Category = AtsTypeCategory.Array, ElementType = innerArray }; 2783Type = new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback }, 2785CallbackReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 2792ReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }, 2813var resourceType = new AtsTypeRef { TypeId = "Tests/ProbeResource", Category = AtsTypeCategory.Handle }; 2817Type = new AtsTypeRef { TypeId = AtsConstants.CancellationToken, Category = AtsTypeCategory.Dto } 2824ReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }, 2841var resourceType = new AtsTypeRef { TypeId = "Tests/ProbeResource", Category = AtsTypeCategory.Handle }; 2860Category = AtsTypeCategory.Primitive, 2888Category = AtsTypeCategory.Handle 2895new AtsTypeRef { TypeId = AtsConstants.Boolean, Category = AtsTypeCategory.Primitive, IsNullable = true }), 2899new AtsTypeRef { TypeId = AtsConstants.Number, Category = AtsTypeCategory.Primitive, IsNullable = true }), 3025var resourceType = new AtsTypeRef { TypeId = "Tests/ProbeResource", Category = AtsTypeCategory.Handle }; 3029Category = AtsTypeCategory.Primitive, 3035Category = AtsTypeCategory.Primitive, 3041Category = AtsTypeCategory.Array, 3047Category = AtsTypeCategory.Array, 3053Category = AtsTypeCategory.Array, 3060Type = new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback }, 3066CallbackReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 3073ReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }, 3315var contextType = new AtsTypeRef { TypeId = "Tests/MutableContext", Category = AtsTypeCategory.Dto }; 3331Type = new AtsTypeRef { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive } 3344Type = new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback }, 3353Category = AtsTypeCategory.Primitive 3406var resourceType = new AtsTypeRef { TypeId = "Tests/ProbeResource", Category = AtsTypeCategory.Handle }; 3407var contextType = new AtsTypeRef { TypeId = "Tests/MutableContext", Category = AtsTypeCategory.Dto }; 3412Type = new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback }, 3417CallbackReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 3424ReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }, 3446Type = new AtsTypeRef { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive } 3633Type = new AtsTypeRef { TypeId = "KeywordProbe", Category = AtsTypeCategory.Dto } 3692new AtsTypeRef { TypeId = "string", Category = AtsTypeCategory.Primitive }); 3724Category = AtsTypeCategory.Dict, 3726KeyType = new AtsTypeRef { TypeId = "string", Category = AtsTypeCategory.Primitive }, 3727ValueType = new AtsTypeRef { TypeId = "string", Category = AtsTypeCategory.Primitive }
Aspire.Hosting.CodeGeneration.Python (32)
AtsPythonCodeGenerator.cs (32)
158typeRef != null && typeRef.Category == AtsTypeCategory.Handle; 222AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 223AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 224AtsTypeCategory.Handle => GetWrapperOrHandleName(typeRef.TypeId), 225AtsTypeCategory.Dto => GetDtoClassName(typeRef.TypeId), 226AtsTypeCategory.Callback => "typing.Callable", // Callbacks handled separately with full signature 227AtsTypeCategory.Array => $"typing.Iterable[{MapTypeRefToPython(typeRef.ElementType)}]", 228AtsTypeCategory.List => $"AspireList[{MapTypeRefToPython(typeRef.ElementType)}]", 229AtsTypeCategory.Dict => typeRef.IsReadOnly 232AtsTypeCategory.Union => MapUnionTypeToPython(typeRef), 233AtsTypeCategory.Unknown => "typing.Any", // Unknown types use 'Any' since they're not in the ATS universe 246&& typeRef.Category is AtsTypeCategory.Primitive or AtsTypeCategory.Enum 298parameter.CallbackParameters?.Any(p => p.Type.Category == AtsTypeCategory.Dto && p.Type.TypeId != AtsConstants.CancellationToken) == true 526if (typeRef.Category == AtsTypeCategory.Union) 533if (typeRef.Category == AtsTypeCategory.Primitive && typeRef.TypeId == AtsConstants.Void) 605AtsTypeCategory.Array or AtsTypeCategory.List => $"typing.Iterable[{MapDtoPropertyTypeToPython(typeRef.ElementType)}]", 606AtsTypeCategory.Dict => $"typing.Mapping[{MapDtoPropertyTypeToPython(typeRef.KeyType)}, {MapDtoPropertyTypeToPython(typeRef.ValueType)}]", 607AtsTypeCategory.Union => MapDtoUnionTypeToPython(typeRef), 1016AtsTypeCategory.Dto when value is JsonObject obj && dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoInfo) 1018AtsTypeCategory.Array or AtsTypeCategory.List when value is JsonArray arr 1020AtsTypeCategory.Dict when value is JsonObject obj 1026if (!topLevel || typeRef.Category is AtsTypeCategory.Primitive) 1382var isResourceBuilder = capability.ReturnType != null && capability.ReturnType.Category == AtsTypeCategory.Handle && 1455if (capability.ReturnType != null && (capability.ReturnType.Category == AtsTypeCategory.Handle || capability.ReturnType.Category == AtsTypeCategory.Dto)) 1940if (targetTypeRef.Category != AtsTypeCategory.Handle) 2189if (!string.IsNullOrEmpty(typeRef.TypeId) && typeRef.Category == AtsTypeCategory.Handle) 2193if (!string.IsNullOrEmpty(typeRef.TypeId) && typeRef.Category == AtsTypeCategory.Dict) 2197if (!string.IsNullOrEmpty(typeRef.TypeId) && typeRef.Category == AtsTypeCategory.List)
Aspire.Hosting.CodeGeneration.Python.Tests (20)
AtsPythonCodeGeneratorTests.cs (20)
393Category = AtsTypeCategory.Dto 870Category = AtsTypeCategory.Handle 894Category = AtsTypeCategory.Primitive 926Category = AtsTypeCategory.Handle 950Category = AtsTypeCategory.Primitive 985Category = AtsTypeCategory.Handle 992Category = AtsTypeCategory.Handle, 1000Category = AtsTypeCategory.Handle, 1024Category = AtsTypeCategory.Primitive 1064Category = AtsTypeCategory.Union, 1070Category = AtsTypeCategory.Union, 1076Category = AtsTypeCategory.Primitive, 1084Category = AtsTypeCategory.Primitive 1119Category = AtsTypeCategory.Array, 1123Category = AtsTypeCategory.Primitive, 1133Category = AtsTypeCategory.Primitive 1169Category = AtsTypeCategory.Primitive 1175Category = AtsTypeCategory.Primitive 1182Category = AtsTypeCategory.Handle 1189Category = AtsTypeCategory.Handle
Aspire.Hosting.CodeGeneration.Rust (54)
AtsRustCodeGenerator.cs (54)
386AtsTypeCategory.Primitive => true, 387AtsTypeCategory.Enum => true, 388AtsTypeCategory.Handle => true, 389AtsTypeCategory.Dto => !dtoTypesById.TryGetValue(typeRef.TypeId, out var dto) 391AtsTypeCategory.Callback => true, 392AtsTypeCategory.Array => true, 393AtsTypeCategory.List => true, 394AtsTypeCategory.Dict => true, 395AtsTypeCategory.Union => true, 396AtsTypeCategory.Unknown => true, 617else if (returnTypeRef?.Category == AtsTypeCategory.Dict && returnTypeRef.IsReadOnly == false) 623else if (returnTypeRef?.Category == AtsTypeCategory.List && returnTypeRef.IsReadOnly == false) 656return returnType.Category == AtsTypeCategory.List || returnType.Category == AtsTypeCategory.Dict; 664var isDict = returnType.Category == AtsTypeCategory.Dict; 914AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 915AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 916AtsTypeCategory.Handle => MapHandleType(typeRef.TypeId), 917AtsTypeCategory.Dto => MapDtoType(typeRef.TypeId), 918AtsTypeCategory.Callback => "Box<dyn Fn(Vec<Value>) -> Value + Send + Sync>", 919AtsTypeCategory.Array => $"Vec<{MapTypeRefToRust(typeRef.ElementType, false)}>", 920AtsTypeCategory.List => typeRef.IsReadOnly 923AtsTypeCategory.Dict => typeRef.IsReadOnly 926AtsTypeCategory.Union => "Value", 927AtsTypeCategory.Unknown => "Value", 952AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 953AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 955AtsTypeCategory.Handle => "Handle", 956AtsTypeCategory.Dto => MapDtoType(typeRef.TypeId), 966AtsTypeCategory.Callback => "Value", 967AtsTypeCategory.Array => $"Vec<{MapTypeRefToRustForDto(typeRef.ElementType, false)}>", 968AtsTypeCategory.List => $"Vec<{MapTypeRefToRustForDto(typeRef.ElementType, false)}>", 969AtsTypeCategory.Dict => $"HashMap<{MapTypeRefToRustForDto(typeRef.KeyType, false)}, {MapTypeRefToRustForDto(typeRef.ValueType, false)}>", 970AtsTypeCategory.Union => "Value", 971AtsTypeCategory.Unknown => "Value", 992AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 993AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 994AtsTypeCategory.Dto => MapDtoType(typeRef.TypeId), 995AtsTypeCategory.Array or AtsTypeCategory.List => $"Vec<{MapTypeRefToRustForExportedValue(typeRef.ElementType)}>", 996AtsTypeCategory.Dict => $"HashMap<{MapTypeRefToRustForExportedValue(typeRef.KeyType)}, {MapTypeRefToRustForExportedValue(typeRef.ValueType)}>", 997AtsTypeCategory.Union or AtsTypeCategory.Unknown => "Value", 1037if (typeRef.Category == AtsTypeCategory.Primitive) 1063&& typeRef.Category is AtsTypeCategory.Primitive or AtsTypeCategory.Enum 1067typeRef?.Category == AtsTypeCategory.Handle 1073&& (typeRef.Category == AtsTypeCategory.Array || (typeRef.Category == AtsTypeCategory.List && typeRef.IsReadOnly)) 1079&& ((typeRef.Category == AtsTypeCategory.List && !typeRef.IsReadOnly) 1080|| (typeRef.Category == AtsTypeCategory.Dict && !typeRef.IsReadOnly)); 1103if (typeRef.Category == AtsTypeCategory.Handle) 1116if (typeRef.Category == AtsTypeCategory.List || typeRef.Category == AtsTypeCategory.Dict)
Aspire.Hosting.CodeGeneration.TypeScript (35)
AtsTypeScriptCodeGenerator.cs (2)
387if (typeRef?.Category != AtsTypeCategory.Dto || 402if (typeRef?.Category != AtsTypeCategory.Dto ||
src\Shared\CodeGeneration\AtsOptionsFlattening.cs (1)
54if (candidate.Type?.Category != AtsTypeCategory.Dto)
TypeScriptApiProjector.cs (32)
759return exportedValue.Type.Category is AtsTypeCategory.Primitive 773AtsTypeCategory.Dto when value is JsonObject obj && _dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoInfo) 775AtsTypeCategory.Array or AtsTypeCategory.List when value is JsonArray arr 777AtsTypeCategory.Dict when value is JsonObject obj 1648typeRef is { Category: AtsTypeCategory.Handle }; 1691AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 1692AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 1693AtsTypeCategory.Handle => GetWrapperOrHandleName(typeRef.TypeId), 1694AtsTypeCategory.Dto => GetDtoInterfaceName(typeRef.TypeId), 1695AtsTypeCategory.Callback => "Function", // Callbacks handled separately with full signature 1696AtsTypeCategory.Array => FormatArrayType(typeRef.ElementType, MapTypeRefToTypeScript(typeRef.ElementType)), 1697AtsTypeCategory.List => $"AspireList<{MapTypeRefToTypeScript(typeRef.ElementType)}>", 1698AtsTypeCategory.Dict => typeRef.IsReadOnly 1701AtsTypeCategory.Union => MapUnionTypeToTypeScript(typeRef), 1702AtsTypeCategory.Unknown => "any", // Unknown types use 'any' since they're not in the ATS universe 1710if (typeRef.IsNullable != true || typeRef.Category is not (AtsTypeCategory.Primitive or AtsTypeCategory.Enum)) 1729AtsTypeCategory.Array or AtsTypeCategory.List => FormatArrayType(typeRef.ElementType, MapDtoPropertyTypeToTypeScript(typeRef.ElementType)), 1730AtsTypeCategory.Dict => $"Record<{MapDtoPropertyTypeToTypeScript(typeRef.KeyType)}, {MapDtoPropertyTypeToTypeScript(typeRef.ValueType)}>", 1731AtsTypeCategory.Union => MapDtoUnionTypeToTypeScript(typeRef), 1738var requiresGrouping = elementType?.Category == AtsTypeCategory.Union || 1739elementType is { IsNullable: true, Category: AtsTypeCategory.Primitive or AtsTypeCategory.Enum }; 1859if (typeRef?.Category == AtsTypeCategory.Union) 2008return typeRef.Category == AtsTypeCategory.Handle && typeRef.IsInterface; 2551if (typeRef.Category == AtsTypeCategory.Union && typeRef.UnionTypes is { Count: > 0 }) 2625return typeRef?.Category == AtsTypeCategory.Dict; 2634return typeRef?.Category == AtsTypeCategory.List; 2667if (targetTypeRef.Category != AtsTypeCategory.Handle) 2942if (!string.IsNullOrEmpty(typeRef.TypeId) && typeRef.Category == AtsTypeCategory.Handle)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (37)
AtsTypeScriptCodeGeneratorTests.cs (37)
284Category = AtsTypeCategory.Handle 289Category = AtsTypeCategory.Primitive 916Assert.Equal(AtsTypeCategory.Handle, dependencyParam.Type.Category); 952Category = AtsTypeCategory.Primitive, 958Category = AtsTypeCategory.Array, 1009Category = AtsTypeCategory.Union, 1025Category = AtsTypeCategory.Primitive 1030Category = AtsTypeCategory.List, 1036Category = AtsTypeCategory.Dict, 1052Category = AtsTypeCategory.Primitive, 1058Category = AtsTypeCategory.Dict, 1059KeyType = new AtsTypeRef { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive }, 1063Category = AtsTypeCategory.List, 1284Assert.Equal(AtsTypeCategory.Dto, addNodePool.Parameters[^1].CallbackParameters![0].Type.Category); 1285Assert.Equal(AtsTypeCategory.Dto, withSystemNodePool.Parameters[^1].CallbackParameters![0].Type.Category); 1736Category = AtsTypeCategory.Handle 1997Category = AtsTypeCategory.Handle 2009Category = AtsTypeCategory.Primitive 2034Category = AtsTypeCategory.Primitive 2411Assert.Equal(AtsTypeCategory.Primitive, ctParam.Type.Category); 2507Assert.Equal(AtsTypeCategory.Dto, options.Type.Category); 2523Assert.Equal(AtsTypeCategory.Handle, legacyOptions.Type.Category); 2664Assert.NotEqual(AtsTypeCategory.Unknown, param.Type.Category); 3017Category = AtsTypeCategory.Handle 3022Category = AtsTypeCategory.Primitive 3027Category = AtsTypeCategory.Primitive 3222Category = AtsTypeCategory.Handle 3230Category = AtsTypeCategory.Handle 3316Category = AtsTypeCategory.Handle 3331Category = AtsTypeCategory.Primitive 3434Category = AtsTypeCategory.Handle 3449Category = AtsTypeCategory.Callback 3464Category = AtsTypeCategory.Primitive 3471Category = AtsTypeCategory.Primitive 3498Category = AtsTypeCategory.Primitive 3507Category = AtsTypeCategory.Primitive 3515Category = AtsTypeCategory.Primitive
Aspire.Hosting.Native.CodeGeneration (61)
NativeCSharpProjection.cs (11)
115if (callback.CallbackParameters is not [{ Type.Category: AtsTypeCategory.Handle }] || 160var value = parameter.Type!.Category == AtsTypeCategory.Union 165: parameter.Type.Category == AtsTypeCategory.Handle 193if (capability.ReturnType.Category == AtsTypeCategory.Handle) 237AtsTypeCategory.Handle when handles.TryGetValue(type.TypeId, out var handle) => handle, 238AtsTypeCategory.Dto when dtos.TryGetValue(type.TypeId, out var dto) => dto, 239AtsTypeCategory.Array => TypeName(type.ElementType!) + "[]", 240AtsTypeCategory.Union => "object", 241AtsTypeCategory.Callback => "Delegate", 242AtsTypeCategory.Primitive => type.TypeId switch 258private static bool ContainsHandle(AtsTypeRef type) => type.Category == AtsTypeCategory.Handle ||
NativeProviderTypeScriptProjection.cs (3)
26.Append(method.ReturnType)).OfType<AtsTypeRef>().Where(type => type.Category == AtsTypeCategory.Handle) 92AtsTypeCategory.Handle => Name(id) + (ownTypes.Contains(id) ? "Client" : ""), 93AtsTypeCategory.Primitive => id switch
Program.cs (4)
433if (parameter.IsCallback && parameter.CallbackParameters is [{ Type.Category: AtsTypeCategory.Handle } callbackParameter] && 439if (parameter.Type is { Category: AtsTypeCategory.Union, UnionTypes: { } members } && 441members.All(member => member.TypeId == "string" || member.Category == AtsTypeCategory.Handle)) 443return $"RpcArguments.Union({node}, handles, [{string.Join(", ", members.Where(member => member.Category == AtsTypeCategory.Handle).Select(member => Literal(member.TypeId)))}])";
src\Aspire.Hosting.RemoteHost\AtsCapabilityScanner.cs (43)
684if (typeRef.Category == AtsTypeCategory.Enum && typeRef.ClrType != null) 768if (typeRef.Category == AtsTypeCategory.Unknown && validTypes.Contains(typeRef.TypeId)) 770typeRef.Category = AtsTypeCategory.Handle; 863if (typeRef.Category == AtsTypeCategory.Unknown) 930Category = AtsTypeCategory.Handle, 961Category = AtsTypeCategory.Handle, 1171? new AtsTypeRef { TypeId = "callback", ClrType = prop.PropertyType, Category = AtsTypeCategory.Callback } 1386AtsTypeCategory.Primitive => typeRef.TypeId != AtsConstants.CancellationToken && typeRef.TypeId != AtsConstants.Void, 1387AtsTypeCategory.Enum => true, 1388AtsTypeCategory.Dto => IsSupportedExportedDtoType(typeRef, assemblyExportedTypeCache, visitedDtoTypeIds), 1389AtsTypeCategory.Array => IsSupportedExportedValueType(typeRef.ElementType, assemblyExportedTypeCache, visitedDtoTypeIds), 1390AtsTypeCategory.Dict => typeRef.IsReadOnly 1393AtsTypeCategory.Union => typeRef.UnionTypes is not null 1691: new AtsTypeRef { TypeId = AtsConstants.Any, Category = AtsTypeCategory.Primitive }; 1696Category = AtsTypeCategory.Dict, 1718propertyTypeRef = new AtsTypeRef { TypeId = AtsConstants.Any, Category = AtsTypeCategory.Primitive }; 2231? new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback } 2288returnTypeRef = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }; 2292returnTypeRef = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }; 2300?? new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 2301: new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }; 2306?? new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 2334var voidTypeRef = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }; 2670Category = AtsTypeCategory.Primitive 2785return new AtsTypeRef { TypeId = primitiveTypeId, ClrType = type, Category = AtsTypeCategory.Primitive }; 2791return new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = type, Category = AtsTypeCategory.Primitive }; 2800Category = AtsTypeCategory.Dict, 2801KeyType = new AtsTypeRef { TypeId = AtsConstants.String, ClrType = typeof(string), Category = AtsTypeCategory.Primitive }, 2802ValueType = new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = typeof(object), Category = AtsTypeCategory.Primitive }, 2813Category = AtsTypeCategory.List, 2814ElementType = new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = typeof(object), Category = AtsTypeCategory.Primitive } 2828Category = AtsTypeCategory.Enum 2851Category = AtsTypeCategory.Dict, 2874Category = AtsTypeCategory.Dict, 2896Category = AtsTypeCategory.List, 2916Category = AtsTypeCategory.Array, 2961Category = AtsTypeCategory.Array, 2977Category = AtsTypeCategory.Dto, 2989Category = AtsTypeCategory.Handle, 2999Category = AtsTypeCategory.Unknown, 3094Category = AtsTypeCategory.Handle, 3161Category = AtsTypeCategory.Handle, 3419Category = AtsTypeCategory.Union,
Aspire.Hosting.RemoteHost (73)
Ats\AtsMarshaller.cs (25)
157AtsTypeCategory.Handle => _handles.Marshal(value, typeRef.TypeId), 158AtsTypeCategory.Primitive => SerializePrimitive(value), 159AtsTypeCategory.Enum => JsonValue.Create(value.ToString()), 160AtsTypeCategory.Dto => SerializeDto(value), 161AtsTypeCategory.Array => SerializeArray(value, typeRef.ElementType), 162AtsTypeCategory.List => _handles.Marshal(value, typeRef.TypeId), 163AtsTypeCategory.Dict => _handles.Marshal(value, typeRef.TypeId), 164AtsTypeCategory.Union => MarshalUnion(value, typeRef), 212var category = _context.GetCategory(declaredType); 216AtsTypeCategory.Primitive => SerializePrimitive(value), 217AtsTypeCategory.Enum => JsonValue.Create(value.ToString()), 218AtsTypeCategory.Dto => SerializeDto(value), 219AtsTypeCategory.Array => SerializeArray(value, CreateElementTypeRef(declaredType)), 220AtsTypeCategory.List => _handles.Marshal(value, typeId), 221AtsTypeCategory.Dict => _handles.Marshal(value, typeId), 222AtsTypeCategory.Handle => _handles.Marshal(value, typeId), 451var category = _context.GetCategory(type); 455AtsTypeCategory.Primitive => SerializePrimitive(value), 456AtsTypeCategory.Enum => JsonValue.Create(value.ToString()), 457AtsTypeCategory.Dto => SerializeDto(value), 458AtsTypeCategory.Array => SerializeArrayRuntime(value), 459AtsTypeCategory.List => MarshalListHandle(value, type), 460AtsTypeCategory.Dict => MarshalDictHandle(value, type), 461AtsTypeCategory.Handle => _handles.Marshal(value, AtsTypeMapping.DeriveTypeId(type)), 986return _context.GetCategory(type) == AtsTypeCategory.Dto;
Ats\ExternalCapabilityRegistry.cs (2)
796: new AtsTypeRef { TypeId = "unknown", Category = AtsTypeCategory.Unknown } 869public AtsTypeCategory Category { get; set; }
AtsCapabilityScanner.cs (43)
684if (typeRef.Category == AtsTypeCategory.Enum && typeRef.ClrType != null) 768if (typeRef.Category == AtsTypeCategory.Unknown && validTypes.Contains(typeRef.TypeId)) 770typeRef.Category = AtsTypeCategory.Handle; 863if (typeRef.Category == AtsTypeCategory.Unknown) 930Category = AtsTypeCategory.Handle, 961Category = AtsTypeCategory.Handle, 1171? new AtsTypeRef { TypeId = "callback", ClrType = prop.PropertyType, Category = AtsTypeCategory.Callback } 1386AtsTypeCategory.Primitive => typeRef.TypeId != AtsConstants.CancellationToken && typeRef.TypeId != AtsConstants.Void, 1387AtsTypeCategory.Enum => true, 1388AtsTypeCategory.Dto => IsSupportedExportedDtoType(typeRef, assemblyExportedTypeCache, visitedDtoTypeIds), 1389AtsTypeCategory.Array => IsSupportedExportedValueType(typeRef.ElementType, assemblyExportedTypeCache, visitedDtoTypeIds), 1390AtsTypeCategory.Dict => typeRef.IsReadOnly 1393AtsTypeCategory.Union => typeRef.UnionTypes is not null 1691: new AtsTypeRef { TypeId = AtsConstants.Any, Category = AtsTypeCategory.Primitive }; 1696Category = AtsTypeCategory.Dict, 1718propertyTypeRef = new AtsTypeRef { TypeId = AtsConstants.Any, Category = AtsTypeCategory.Primitive }; 2231? new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback } 2288returnTypeRef = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }; 2292returnTypeRef = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }; 2300?? new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 2301: new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }; 2306?? new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 2334var voidTypeRef = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }; 2670Category = AtsTypeCategory.Primitive 2785return new AtsTypeRef { TypeId = primitiveTypeId, ClrType = type, Category = AtsTypeCategory.Primitive }; 2791return new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = type, Category = AtsTypeCategory.Primitive }; 2800Category = AtsTypeCategory.Dict, 2801KeyType = new AtsTypeRef { TypeId = AtsConstants.String, ClrType = typeof(string), Category = AtsTypeCategory.Primitive }, 2802ValueType = new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = typeof(object), Category = AtsTypeCategory.Primitive }, 2813Category = AtsTypeCategory.List, 2814ElementType = new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = typeof(object), Category = AtsTypeCategory.Primitive } 2828Category = AtsTypeCategory.Enum 2851Category = AtsTypeCategory.Dict, 2874Category = AtsTypeCategory.Dict, 2896Category = AtsTypeCategory.List, 2916Category = AtsTypeCategory.Array, 2961Category = AtsTypeCategory.Array, 2977Category = AtsTypeCategory.Dto, 2989Category = AtsTypeCategory.Handle, 2999Category = AtsTypeCategory.Unknown, 3094Category = AtsTypeCategory.Handle, 3161Category = AtsTypeCategory.Handle, 3419Category = AtsTypeCategory.Union,
AtsContextFilter.cs (3)
326Category = AtsTypeCategory.Handle, 345Category = AtsTypeCategory.Primitive 394if (typeRef.Category == AtsTypeCategory.Handle && !string.IsNullOrEmpty(typeRef.TypeId))
Aspire.Hosting.RemoteHost.Tests (43)
AtsCapabilityScannerTests.cs (11)
161Assert.Equal(AtsTypeCategory.Array, itemsType.Category); 166Assert.Equal(AtsTypeCategory.Array, enumerableReturnCapability.ReturnType.Category); 177Assert.Equal(AtsTypeCategory.Array, typeRef.Category); 192Assert.Equal(AtsTypeCategory.Union, parameter.Type?.Category); 336Assert.Equal(AtsTypeCategory.Union, resourceParameter.Type?.Category); 342Assert.Equal(AtsTypeCategory.Dict, argumentsParameter.Type?.Category); 425Assert.Equal(AtsTypeCategory.Dto, optionsParameter.Type.Category); 442Assert.Equal(AtsTypeCategory.Handle, callbackParameter.Type.Category); 444Assert.Equal(AtsTypeCategory.Dto, prepareRequestProperty.CallbackReturnType?.Category); 664Assert.NotEqual(AtsTypeCategory.Unknown, cbParam.Type.Category); 683Assert.Equal(AtsTypeCategory.Handle, parameter.Type.Category);
AtsContextFilterTests.cs (17)
192Category = AtsTypeCategory.Dto 199Category = AtsTypeCategory.Handle 206Category = AtsTypeCategory.Handle, 278Category = AtsTypeCategory.Enum 285Type = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }, 296Category = AtsTypeCategory.Enum 436Category = AtsTypeCategory.Enum 489Category = AtsTypeCategory.Enum 509Category = AtsTypeCategory.Handle 519Category = AtsTypeCategory.Dto 529Category = AtsTypeCategory.Enum 537Category = AtsTypeCategory.Handle, 545Category = AtsTypeCategory.Handle 562Category = AtsTypeCategory.Handle 580Category = AtsTypeCategory.Primitive 593Category = AtsTypeCategory.Dto 606Category = AtsTypeCategory.Primitive
AtsMarshallerTests.cs (12)
172Category = AtsTypeCategory.Union, 175new AtsTypeRef { TypeId = AtsConstants.String, ClrType = typeof(string), Category = AtsTypeCategory.Primitive }, 176new AtsTypeRef { TypeId = AtsConstants.Number, ClrType = typeof(int), Category = AtsTypeCategory.Primitive }, 177new AtsTypeRef { TypeId = AtsConstants.Boolean, ClrType = typeof(bool), Category = AtsTypeCategory.Primitive } 195Category = AtsTypeCategory.Union, 198new AtsTypeRef { TypeId = AtsConstants.String, ClrType = typeof(string), Category = AtsTypeCategory.Primitive }, 199new AtsTypeRef { TypeId = "test/IResource", ClrType = typeof(IResource), Category = AtsTypeCategory.Handle } 217Category = AtsTypeCategory.Union, 220new AtsTypeRef { TypeId = AtsConstants.String, ClrType = typeof(string), Category = AtsTypeCategory.Primitive }, 221new AtsTypeRef { TypeId = AtsConstants.Boolean, ClrType = typeof(bool), Category = AtsTypeCategory.Primitive } 294Category = AtsTypeCategory.Primitive 1021var typeRef = new AtsTypeRef { TypeId = "test/SelfReferencingDto", Category = AtsTypeCategory.Dto };
ExternalCapabilityRegistryTests.cs (3)
894ReturnType = new AtsTypeRef { TypeId = AtsConstants.Boolean, Category = AtsTypeCategory.Primitive } 920ReturnType = new AtsTypeRef { TypeId = AtsConstants.Boolean, Category = AtsTypeCategory.Primitive } 964Type = new AtsTypeRef { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive },
Aspire.TypeSystem (31)
AtsCapabilityInfo.cs (1)
30public AtsTypeCategory Category { get; set; }
AtsConstants.cs (19)
352public static AtsTypeCategory GetCategory(string? typeId, bool isCallback = false) 356return AtsTypeCategory.Callback; 361return AtsTypeCategory.Primitive; 366return AtsTypeCategory.Enum; 371return AtsTypeCategory.Array; 376return AtsTypeCategory.List; 381return AtsTypeCategory.Dict; 389return AtsTypeCategory.Handle; 444public static AtsTypeCategory GetCategory(Type type) 448return AtsTypeCategory.Primitive; 453return AtsTypeCategory.Enum; 458return AtsTypeCategory.Array; 463return AtsTypeCategory.List; 468return AtsTypeCategory.Array; // ReadOnly collections serialize as arrays 473return AtsTypeCategory.Dict; 478return AtsTypeCategory.Callback; 484return AtsTypeCategory.Dto; 490return AtsTypeCategory.Handle; 494return AtsTypeCategory.Unknown;
AtsContext.cs (11)
107public AtsTypeCategory GetCategory(Type type) 112return AtsTypeCategory.Primitive; 118return AtsTypeCategory.Enum; 124return AtsTypeCategory.Array; 134return AtsTypeCategory.List; 139return AtsTypeCategory.Array; 145return AtsTypeCategory.Dict; 152return AtsTypeCategory.Callback; 159return AtsTypeCategory.Dto; 166return AtsTypeCategory.Handle; 170return AtsTypeCategory.Handle;