164 writes to TypeId
Aspire.Hosting.CodeGeneration.Java.Tests (44)
AtsJavaCodeGeneratorTests.cs (44)
2698new AtsTypeRef { TypeId = "array", Category = AtsTypeCategory.Array, ElementType = MutableStringDict() }); 2713TypeId = "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 }; 2859TypeId = AtsConstants.Number, 2885TypeId = "Tests/ProbeResource", 2893new AtsTypeRef { TypeId = AtsConstants.Boolean, Category = AtsTypeCategory.Primitive, IsNullable = true }), 2897new AtsTypeRef { TypeId = AtsConstants.Number, Category = AtsTypeCategory.Primitive, IsNullable = true })); 3015var resourceType = new AtsTypeRef { TypeId = "Tests/ProbeResource", Category = AtsTypeCategory.Handle }; 3018TypeId = AtsConstants.Number, 3024TypeId = AtsConstants.Boolean, 3030TypeId = "numberArray", 3036TypeId = "booleanArray", 3042TypeId = "booleanMatrix", 3050Type = new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback }, 3056CallbackReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 3063ReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }, 3271var contextType = new AtsTypeRef { TypeId = "Tests/MutableContext", Category = AtsTypeCategory.Dto }; 3287Type = new AtsTypeRef { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive } 3300Type = new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback }, 3308TypeId = AtsConstants.Void, 3362var resourceType = new AtsTypeRef { TypeId = "Tests/ProbeResource", Category = AtsTypeCategory.Handle }; 3363var contextType = new AtsTypeRef { TypeId = "Tests/MutableContext", Category = AtsTypeCategory.Dto }; 3368Type = new AtsTypeRef { TypeId = "callback", Category = AtsTypeCategory.Callback }, 3373CallbackReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive } 3380ReturnType = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }, 3402Type = new AtsTypeRef { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive } 3589Type = new AtsTypeRef { TypeId = "KeywordProbe", Category = AtsTypeCategory.Dto } 3648new AtsTypeRef { TypeId = "string", Category = AtsTypeCategory.Primitive }); 3679TypeId = "dict", 3682KeyType = new AtsTypeRef { TypeId = "string", Category = AtsTypeCategory.Primitive }, 3683ValueType = new AtsTypeRef { TypeId = "string", Category = AtsTypeCategory.Primitive }
Aspire.Hosting.CodeGeneration.Python.Tests (19)
AtsPythonCodeGeneratorTests.cs (19)
498TypeId = "Tests/KeywordResource", 523TypeId = AtsConstants.String, 554TypeId = "Tests/AcronymResource", 579TypeId = AtsConstants.String, 613TypeId = genericBaseType.AssemblyQualifiedName!, 620TypeId = genericInterfaceType.AssemblyQualifiedName!, 628TypeId = "Tests/GenericResource", 653TypeId = AtsConstants.Void, 693TypeId = "Tests/NullableUnion", 699TypeId = "Tests/NestedNullableUnion", 705TypeId = AtsConstants.Number, 713TypeId = AtsConstants.String, 748TypeId = "Tests/NullableItems", 752TypeId = AtsConstants.Number, 762TypeId = AtsConstants.Void, 798TypeId = AtsConstants.String, 804TypeId = AtsConstants.Boolean, 810TypeId = "Tests/CollidingAlphaResource", 817TypeId = "Tests/CollidingBetaResource",
Aspire.Hosting.CodeGeneration.TypeScript.Tests (30)
AtsTypeScriptCodeGeneratorTests.cs (30)
275TypeId = $"{ApiExportPackageName}/PropertyContext", 280TypeId = AtsConstants.String, 889TypeId = AtsConstants.Number, 895TypeId = $"{AtsConstants.Number}[]", 946TypeId = "test/EmptyUnion", 962TypeId = "string", 967TypeId = "list", 973TypeId = "dictionary", 989TypeId = AtsConstants.Number, 995TypeId = "dictionary", 997KeyType = new AtsTypeRef { TypeId = AtsConstants.String, Category = AtsTypeCategory.Primitive }, 1000TypeId = "list", 1575TypeId = $"{resourceType.Assembly.GetName().Name}/{resourceType.FullName}", 1836TypeId = GetAtsTypeId(typeof(TResource)), 1849TypeId = AtsConstants.Void, 1874TypeId = AtsConstants.Void, 2833TypeId = $"{ApiExportPackageName}/PromiseContext", 2838TypeId = AtsConstants.String, 2843TypeId = AtsConstants.Void, 3038TypeId = $"{eventHubsPackage}/AzureEventHubsEmulatorResource", 3046TypeId = $"{serviceBusPackage}/AzureServiceBusEmulatorResource", 3132TypeId = targetTypeId, 3147TypeId = AtsConstants.Void, 3250TypeId = $"Aspire.Hosting/{targetTypeName}", 3265TypeId = "callback", 3280TypeId = AtsConstants.Void, 3287TypeId = AtsConstants.Void, 3314TypeId = AtsConstants.String, 3323TypeId = AtsConstants.Number, 3331TypeId = AtsConstants.Void,
Aspire.Hosting.RemoteHost (39)
Ats\AtsMarshaller.cs (1)
426TypeId = AtsTypeMapping.DeriveTypeId(type),
Ats\ExternalCapabilityRegistry.cs (2)
796: new AtsTypeRef { TypeId = "unknown", Category = AtsTypeCategory.Unknown } 808TypeId = typeRef.TypeId,
AtsCapabilityScanner.cs (34)
929TypeId = originalTarget, 959TypeId = typeInfo.AtsTypeId, 1171? new AtsTypeRef { TypeId = "callback", ClrType = prop.PropertyType, Category = AtsTypeCategory.Callback } 1691: new AtsTypeRef { TypeId = AtsConstants.Any, Category = AtsTypeCategory.Primitive }; 1695TypeId = AtsConstants.DictTypeId(keyTypeRef.TypeId, valueTypeRef.TypeId), 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 }; 2669TypeId = AtsConstants.Void, 2684TypeId = typeRef.TypeId, 2764return new AtsTypeRef { TypeId = primitiveTypeId, ClrType = type, Category = AtsTypeCategory.Primitive }; 2770return new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = type, Category = AtsTypeCategory.Primitive }; 2777TypeId = AtsConstants.DictTypeId(AtsConstants.String, AtsConstants.Any), 2780KeyType = new AtsTypeRef { TypeId = AtsConstants.String, ClrType = typeof(string), Category = AtsTypeCategory.Primitive }, 2781ValueType = new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = typeof(object), Category = AtsTypeCategory.Primitive }, 2790TypeId = AtsConstants.ListTypeId(AtsConstants.Any), 2793ElementType = new AtsTypeRef { TypeId = AtsConstants.Any, ClrType = typeof(object), Category = AtsTypeCategory.Primitive } 2805TypeId = AtsConstants.EnumTypeId(type.FullName ?? type.Name), 2828TypeId = AtsConstants.DictTypeId(keyTypeRef.TypeId, valueTypeRef.TypeId), 2851TypeId = AtsConstants.DictTypeId(keyTypeRef.TypeId, valueTypeRef.TypeId), 2873TypeId = AtsConstants.ListTypeId(elementTypeRef.TypeId), 2893TypeId = AtsConstants.ArrayTypeId(elementTypeRef.TypeId), 2938TypeId = AtsConstants.ArrayTypeId(elementTypeRef.TypeId), 2954TypeId = AtsTypeMapping.DeriveTypeId(type), 2966TypeId = AtsTypeMapping.DeriveTypeId(type), 2976TypeId = AtsTypeMapping.DeriveTypeId(type), 3071TypeId = ifaceTypeId, 3138TypeId = typeId, 3397TypeId = string.Join("|", unionTypes.Select(u => u.TypeId)),
AtsContextFilter.cs (2)
324TypeId = targetTypeId, 344TypeId = AtsConstants.Void,
Aspire.Hosting.RemoteHost.Tests (32)
AtsContextFilterTests.cs (17)
191TypeId = "Aspire.TypeSystem/AtsContext", 198TypeId = "Aspire.Hosting/Aspire.Hosting.DistributedApplication", 204TypeId = referencedHandleType.AtsTypeId, 276TypeId = foreignEnum.TypeId, 285Type = new AtsTypeRef { TypeId = AtsConstants.Void, Category = AtsTypeCategory.Primitive }, 294TypeId = foreignCallbackEnum.TypeId, 434TypeId = AtsConstants.EnumTypeId(typeof(TestMode).FullName!), 487TypeId = exportedValueOnlyEnumType.TypeId, 507TypeId = selectedHandleType.AtsTypeId, 517TypeId = referencedCoreDtoType.TypeId, 527TypeId = referencedCoreEnumType.TypeId, 535TypeId = referencedCoreHandleType.AtsTypeId, 543TypeId = selectedHandleType.AtsTypeId, 560TypeId = unrelatedCoreHandleType.AtsTypeId, 578TypeId = "System/String", 591TypeId = exportedValueOnlyDtoType.TypeId, 604TypeId = "System/String",
AtsMarshallerTests.cs (12)
171TypeId = "string|number|boolean", 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 } 194TypeId = "string|resource", 198new AtsTypeRef { TypeId = AtsConstants.String, ClrType = typeof(string), Category = AtsTypeCategory.Primitive }, 199new AtsTypeRef { TypeId = "test/IResource", ClrType = typeof(IResource), Category = AtsTypeCategory.Handle } 216TypeId = "string|boolean", 220new AtsTypeRef { TypeId = AtsConstants.String, ClrType = typeof(string), Category = AtsTypeCategory.Primitive }, 221new AtsTypeRef { TypeId = AtsConstants.Boolean, ClrType = typeof(bool), Category = AtsTypeCategory.Primitive } 293TypeId = AtsConstants.CancellationToken, 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 },
395 references to TypeId
Aspire.Hosting.CodeGeneration.Go (31)
AtsGoCodeGenerator.cs (31)
184if (!string.IsNullOrEmpty(expanded.TypeId)) 186expansionTargetIds.Add(expanded.TypeId); 315if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId 316|| IsCancellationTokenTypeId(typeRef.TypeId)) 322set.Add(typeRef.TypeId); 432if (string.IsNullOrEmpty(targetType.TypeId)) 438if (!_implNames.ContainsKey(targetType.TypeId)) 442if (!result.TryGetValue(targetType.TypeId, out var list)) 445result[targetType.TypeId] = list; 694AtsTypeCategory.Enum => $"{MapEnumType(typeRef.TypeId)}({value.ToRelaxedJsonString()})", 695AtsTypeCategory.Dto when value is JsonObject obj && dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoInfo) 710? MapPrimitiveType(typeRef.TypeId) 711: MapEnumType(typeRef.TypeId); 1101sb.Append(MapDtoType(directOptionsParam.Type!.TypeId)); 1147&& p.CallbackReturnType.TypeId != AtsConstants.Void; 1164var hasReturn = capability.ReturnType is not null && capability.ReturnType.TypeId != AtsConstants.Void; 1181if (IsSameType(returnType.TypeId, capability, currentTypeId)) 1277var isFluent = IsSameType(returnType.TypeId, capability, currentTypeId); 1291var childImplName = returnType.TypeId is not null && _implNames.TryGetValue(returnType.TypeId, out var implTarget) 1466var dtoType = MapDtoType(directOptionsParam.Type!.TypeId); 1557&& p.CallbackReturnType.TypeId != AtsConstants.Void; 1908var hasReturn = capability.ReturnType is not null && capability.ReturnType.TypeId != AtsConstants.Void; 2098if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 2105AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 2106AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 2107AtsTypeCategory.Handle => MapHandleType(typeRef.TypeId), 2108AtsTypeCategory.Dto => "*" + MapDtoType(typeRef.TypeId), 2136if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 2166&& typeRef.TypeId is not (AtsConstants.Void or AtsConstants.Any or AtsConstants.CancellationToken); 2212IsCancellationTokenTypeId(parameter.Type?.TypeId);
Aspire.Hosting.CodeGeneration.Go.Tests (2)
AtsGoCodeGeneratorTests.cs (2)
326Assert.Contains(addTestRedis.Parameters, p => p.Name == "name" && p.Type?.TypeId == "string"); 444.Any(i => i.TypeId.Contains("IResourceWithEnvironment"));
Aspire.Hosting.CodeGeneration.Java (39)
AtsJavaCodeGenerator.cs (39)
880AtsTypeCategory.Dto when value is JsonObject obj && dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoInfo) 1013if (!string.Equals(left.Type?.TypeId, right.Type?.TypeId, StringComparison.Ordinal)) 1037if (!string.Equals(leftCallbackParameters[i].Type.TypeId, rightCallbackParameters[i].Type.TypeId, StringComparison.Ordinal)) 1043return string.Equals(left.CallbackReturnType?.TypeId, right.CallbackReturnType?.TypeId, StringComparison.Ordinal); 1885var returnsDifferentBuilder = capability.ReturnType?.TypeId is { } returnTypeId && 1890? new(MapHandleType(capability.ReturnType!.TypeId!), HasReturn: true, ReturnsCurrentBuilder: false) 1894var hasReturn = capability.ReturnType?.TypeId != AtsConstants.Void; 1909var hasReturnType = callbackReturnType != null && callbackReturnType.TypeId != AtsConstants.Void; 1943var hasReturnType = callbackParam.CallbackReturnType != null && callbackParam.CallbackReturnType.TypeId != AtsConstants.Void; 1999var hasReturnType = property.CallbackReturnType != null && property.CallbackReturnType.TypeId != AtsConstants.Void; 2029if (callbackParameter.Type?.TypeId == AtsConstants.CancellationToken) 2049if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 2054if (IsCancellationTokenTypeId(typeRef.TypeId)) 2062AtsTypeCategory.Primitive => RenderJavaPrimitiveTransportValueConversion(typeRef.TypeId, valueExpression, allowNull), 2063AtsTypeCategory.Enum => RenderJavaEnumTransportValueConversion(typeRef.TypeId, valueExpression, allowNull), 2064AtsTypeCategory.Dto => RenderJavaDtoTransportValueConversion(typeRef.TypeId, valueExpression, allowNull), 2228if (typeRef.TypeId == AtsConstants.CancellationToken) 2481.FirstOrDefault(baseType => !string.Equals(baseType.TypeId, typeId, StringComparison.Ordinal) 2482&& _classNames.ContainsKey(baseType.TypeId)); 2486baseClassName = _classNames[exportedBaseType.TypeId]; 2520if (targetType.TypeId is null) 2525if (!result.TryGetValue(targetType.TypeId, out var list)) 2528result[targetType.TypeId] = list; 2568if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 2575AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId, isOptional || useBoxedTypes), 2576AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 2577AtsTypeCategory.Handle => MapHandleType(typeRef.TypeId), 2578AtsTypeCategory.Dto => MapDtoType(typeRef.TypeId), 2600if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 2622if (IsCancellationTokenTypeId(typeRef.TypeId)) 2682IsCancellationTokenTypeId(parameter.Type?.TypeId); 2696if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId 2697|| IsCancellationTokenTypeId(typeRef.TypeId)) 2704handleTypeIds.Add(typeRef.TypeId); 2719typeIds[typeRef.TypeId] = false; // false = List 2726typeIds[typeRef.TypeId] = true; // true = Dict
Aspire.Hosting.CodeGeneration.Java.Tests (13)
AtsJavaCodeGeneratorTests.cs (13)
184Assert.Contains(addTestRedis.Parameters, p => p.Name == "name" && p.Type?.TypeId == "string"); 326.Any(i => i.TypeId.Contains("IResourceWithEnvironment")); 2793TargetTypeId = resourceType.TypeId, 2825TargetTypeId = resourceType.TypeId, 2867TargetTypeId = resourceType.TypeId, 3064TargetTypeId = resourceType.TypeId, 3078HandleTypes = [new AtsTypeInfo { AtsTypeId = resourceType.TypeId! }], 3281TypeId = contextType.TypeId!, 3381TargetTypeId = resourceType.TypeId, 3390HandleTypes = [new AtsTypeInfo { AtsTypeId = resourceType.TypeId! }], 3396TypeId = contextType.TypeId!, 3691HandleTypes = [new AtsTypeInfo { AtsTypeId = resourceType.TypeId! }], 3705TargetTypeId = resourceType.TypeId,
Aspire.Hosting.CodeGeneration.Python (51)
AtsPythonCodeGenerator.cs (51)
173if (capabilityTargetType.TypeId == builderTargetType.TypeId) 183if (capabilityTargetType.TypeId == currentBase.TypeId) 191if (currentBase.ImplementedInterfaces.Any(i => i.TypeId == capabilityTargetType.TypeId)) 215if (_wrapperClassNames.TryGetValue(typeRef.TypeId, out var wrapperClassName)) 222AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 223AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 224AtsTypeCategory.Handle => GetWrapperOrHandleName(typeRef.TypeId), 225AtsTypeCategory.Dto => GetDtoClassName(typeRef.TypeId), 247&& typeRef.TypeId is not (AtsConstants.Void or AtsConstants.Any or AtsConstants.CancellationToken); 275if (param.Type?.TypeId == AtsConstants.CancellationToken) 288if (param.Type?.TypeId == AtsConstants.CancellationToken) 305? JsonValue.Create(callbackParameter.Type.TypeId)!.ToJsonString() 454filtered = filtered.Where(p => p.Type?.TypeId != AtsConstants.CancellationToken); 466if (param.Type?.TypeId == AtsConstants.CancellationToken) 528if (typeRef.Category == AtsTypeCategory.Primitive && typeRef.TypeId == AtsConstants.Void) 661if (param.Type?.TypeId == AtsConstants.CancellationToken) 686private static string? GetReturnTypeId(AtsCapabilityInfo capability) => capability.ReturnType?.TypeId; 803if (IsHandleType(cap.ReturnType) && !dtoTypeIds.Contains(cap.ReturnType!.TypeId)) 810if (IsHandleType(param.Type) && !dtoTypeIds.Contains(param.Type!.TypeId)) 812typeIds.Add(param.Type!.TypeId); 819if (IsHandleType(cbParam.Type) && !dtoTypeIds.Contains(cbParam.Type.TypeId)) 821typeIds.Add(cbParam.Type.TypeId); 999AtsTypeCategory.Dto when value is JsonObject obj && dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoInfo) 1359var returnsSelf = isDistributedApplicationBuilder && capability.ReturnType?.TypeId == capability.TargetTypeId; 1463.Select(i => i.TypeId), 1466.Where(i => !transitivelyImplemented.Contains(i.TypeId)) 1468baseClass = string.Join(", ", implementedInterfaces.Select(i => DeriveClassName(i.TypeId))); 1528baseTypeInterfaces = baseType.ImplementedInterfaces.Select(i => i.TypeId).ToList(); 1537var implementedInterfaces = builder.TargetType?.ImplementedInterfaces.Where(i => !baseTypeInterfaces.Contains(i.TypeId)).ToList(); 1544.Select(i => i.TypeId), 1547.Where(i => !transitivelyImplemented.Contains(i.TypeId)) 1664var returnsBuilder = capability.ReturnsBuilder && capability.ReturnType!.TypeId == capability.TargetTypeId; 1665var returnsChildBuilder = capability.ReturnsBuilder && capability.ReturnType != null && IsHandleType(capability.ReturnType) && capability.ReturnType.TypeId != capability.TargetTypeId; 1945if (!capabilitiesByTypeId.TryGetValue(expandedType.TypeId, out var list)) 1948capabilitiesByTypeId[expandedType.TypeId] = list; 1949typeRefsByTypeId[expandedType.TypeId] = expandedType; 2045.Select(i => i.TypeId) 2172if (!string.IsNullOrEmpty(typeRef.TypeId) && typeRef.Category == AtsTypeCategory.Handle) 2174typeRefs.TryAdd(typeRef.TypeId, typeRef); 2176if (!string.IsNullOrEmpty(typeRef.TypeId) && typeRef.Category == AtsTypeCategory.Dict) 2178_moduleBuilder.HandleRegistrations.TryAdd(typeRef.TypeId, "AspireDict"); 2180if (!string.IsNullOrEmpty(typeRef.TypeId) && typeRef.Category == AtsTypeCategory.List) 2182_moduleBuilder.HandleRegistrations.TryAdd(typeRef.TypeId, "AspireList"); 2261return DeriveClassName(typeRef.TypeId); 2430var tickIndex = typeRef.TypeId.IndexOf('`'); 2433return typeRef.TypeId[..tickIndex] + "T"; 2436return typeRef.TypeId + "T"; 2439return typeRef.TypeId;
Aspire.Hosting.CodeGeneration.Python.Tests (14)
AtsPythonCodeGeneratorTests.cs (14)
101Assert.Contains(addTestRedis.Parameters, p => p.Name == "name" && p.Type?.TypeId == "string"); 219.Any(i => i.TypeId.Contains("IResourceWithEnvironment")); 529TargetTypeId = resourceType.TypeId, 541AtsTypeId = resourceType.TypeId, 585TargetTypeId = resourceType.TypeId, 597AtsTypeId = resourceType.TypeId, 656TargetTypeId = resourceType.TypeId, 667AtsTypeId = resourceType.TypeId, 674AtsTypeId = genericBaseTypeRef.TypeId, 679AtsTypeId = genericInterfaceTypeRef.TypeId, 840TargetTypeId = projectType.TypeId, 861TargetTypeId = containerType.TypeId, 873AtsTypeId = projectType.TypeId, 878AtsTypeId = containerType.TypeId,
Aspire.Hosting.CodeGeneration.Rust (31)
AtsRustCodeGenerator.cs (31)
375if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId 376|| IsCancellationTokenTypeId(typeRef.TypeId)) 386AtsTypeCategory.Dto => !dtoTypesById.TryGetValue(typeRef.TypeId, out var dto) 472var hasReturn = capability.ReturnType.TypeId != AtsConstants.Void; 605var wrappedType = MapHandleType(returnTypeRef.TypeId); 609else if (returnTypeRef?.TypeId == AtsConstants.CancellationToken) 858if (targetType.TypeId is null) 863if (!result.TryGetValue(targetType.TypeId, out var list)) 866result[targetType.TypeId] = list; 905if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 912AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 913AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 914AtsTypeCategory.Handle => MapHandleType(typeRef.TypeId), 915AtsTypeCategory.Dto => MapDtoType(typeRef.TypeId), 943if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 950AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 951AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 954AtsTypeCategory.Dto => MapDtoType(typeRef.TypeId), 983if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 990AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 991AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 992AtsTypeCategory.Dto => MapDtoType(typeRef.TypeId), 1037var baseType = typeRef.TypeId switch 1062&& typeRef.TypeId is not (AtsConstants.Void or AtsConstants.Any or AtsConstants.CancellationToken); 1066&& typeRef.TypeId != AtsConstants.ReferenceExpressionTypeId 1067&& !IsCancellationTokenTypeId(typeRef.TypeId); 1081IsCancellationTokenTypeId(parameter.Type?.TypeId); 1095if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId 1096|| IsCancellationTokenTypeId(typeRef.TypeId)) 1103handleTypeIds.Add(typeRef.TypeId); 1118typeIds.Add(typeRef.TypeId);
Aspire.Hosting.CodeGeneration.Rust.Tests (2)
AtsRustCodeGeneratorTests.cs (2)
160Assert.Contains(addTestRedis.Parameters, p => p.Name == "name" && p.Type?.TypeId == "string"); 278.Any(i => i.TypeId.Contains("IResourceWithEnvironment"));
Aspire.Hosting.CodeGeneration.TypeScript (100)
AtsTypeScriptCodeGenerator.cs (46)
134capability.ReturnType.TypeId == AtsConstants.Void ? null : capability.Documentation?.Returns, 135suppressReturns: capability.ReturnType.TypeId == AtsConstants.Void, 386!_projector.DtoTypesById.TryGetValue(typeRef.TypeId, out var dtoType)) 401!_projector.DtoTypesById.TryGetValue(typeRef.TypeId, out var dtoType)) 407if (!visitedDtoTypeIds.Add(typeRef.TypeId)) 418visitedDtoTypeIds.Remove(typeRef.TypeId); 429private static string? GetReturnTypeId(AtsCapabilityInfo capability) => capability.ReturnType?.TypeId; 926var isVoid = capability.ReturnType == null || capability.ReturnType.TypeId == AtsConstants.Void; 929if (capability.ReturnType != null && _projector.TypesWithPromiseWrappers.Contains(capability.ReturnType.TypeId)) 931WriteLine($" {signature.MethodName}({signature.ParameterList}): {_projector.GetPublicPromiseInterfaceName(capability.ReturnType.TypeId)};"); 1117if (capability.ReturnsBuilder && capability.ReturnType?.TypeId != null && 1118!string.Equals(capability.ReturnType.TypeId, builder.TypeId, StringComparison.Ordinal) && 1119!string.Equals(capability.ReturnType.TypeId, capability.TargetTypeId, StringComparison.Ordinal)) 1121returnTypeId = capability.ReturnType.TypeId; 1137var wrappedReturnTypeId = capability.ReturnType!.TypeId; 1203if (capability.ReturnType?.TypeId == AtsConstants.CancellationToken) 1444if (param.Type is not { TypeId: var dtoTypeId }) 1514if (!visitedDtoTypeIds.Add(dtoProperty.Type.TypeId)) 1530visitedDtoTypeIds.Remove(dtoProperty.Type.TypeId); 1614if (capability.ReturnsBuilder && capability.ReturnType?.TypeId != null && 1615!string.Equals(capability.ReturnType.TypeId, builder.TypeId, StringComparison.Ordinal) && 1616!string.Equals(capability.ReturnType.TypeId, capability.TargetTypeId, StringComparison.Ordinal)) 1618var returnClass = _projector.WrapperClassNames.GetValueOrDefault(capability.ReturnType.TypeId) 1619?? TypeScriptApiProjector.DeriveClassName(capability.ReturnType.TypeId); 1787else if (capability.ReturnType?.TypeId == AtsConstants.CancellationToken) 1865&& callbackParam.CallbackReturnType.TypeId != AtsConstants.Void; 1900var cbTypeId = callbackParameter.Type.TypeId; 2239if (getter.ReturnType?.TypeId != null && _projector.WrapperClassNames.TryGetValue(getter.ReturnType.TypeId, out var wrapperClassName)) 2253if (getter.ReturnType?.TypeId == AtsConstants.CancellationToken) 2306if (getter.ReturnType?.TypeId != null && _projector.WrapperClassNames.TryGetValue(getter.ReturnType.TypeId, out var wrapperClassName)) 2333if (getter.ReturnType?.TypeId == AtsConstants.CancellationToken) 2354var handleType = _projector.GetConcreteHandleTypeName(getter.ReturnType!.TypeId); 2408var handleType = _projector.GetConcreteHandleTypeName(getter.ReturnType!.TypeId); 2631var returnTypeId = method.ReturnType!.TypeId; 2682else if (method.ReturnType?.TypeId == AtsConstants.CancellationToken) 2744var returnTypeId = capability.ReturnType!.TypeId; 2870var isVoid = capability.ReturnType == null || capability.ReturnType.TypeId == AtsConstants.Void; 2875var returnWrapperClass = _projector.WrapperClassNames.GetValueOrDefault(capability.ReturnType!.TypeId) 2876?? TypeScriptApiProjector.DeriveClassName(capability.ReturnType.TypeId); 2879var returnHandleType = _projector.GetConcreteHandleTypeName(capability.ReturnType.TypeId); 3012if (capability.ReturnType?.TypeId == AtsConstants.CancellationToken) 3077var isVoid = capability.ReturnType == null || capability.ReturnType.TypeId == AtsConstants.Void; 3081_projector.WrapperClassNames.GetValueOrDefault(capability.ReturnType!.TypeId) 3082?? TypeScriptApiProjector.DeriveClassName(capability.ReturnType.TypeId));
TypeScriptApiProjector.cs (54)
134.DistinctBy(typeRef => typeRef.TypeId, StringComparer.Ordinal) 135.GroupBy(typeRef => DeriveClassName(typeRef.TypeId), StringComparer.Ordinal) 222_typesWithPromiseWrappers.Add(alias.TypeId); 223_wrapperClassNames[alias.TypeId] = builder.BuilderClassName; 224_concreteTypeIds[alias.TypeId] = builder.TypeId; 225_typeRefsById[alias.TypeId] = builder.TargetType ?? alias; 407return capability.ReturnType is { TypeId: { } returnTypeId } 419if (capability.ReturnType is { } returnType && _typesWithPromiseWrappers.Contains(returnType.TypeId)) 421return GetPublicPromiseInterfaceName(returnType.TypeId); 424if (capability.ReturnType is null || capability.ReturnType.TypeId == AtsConstants.Void) 773AtsTypeCategory.Dto when value is JsonObject obj && _dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoInfo) 1311var returnTypeId = capability.ReturnType?.TypeId; 1663if (typeRef.TypeId == AtsConstants.ReferenceExpressionTypeId) 1668if (typeRef.TypeId == InputTypeTypeId) 1673if (typeRef.TypeId == InteractionInputTypeId) 1678if (typeRef.TypeId == InteractionInputCollectionTypeId) 1684if (_wrapperClassNames.TryGetValue(typeRef.TypeId, out var wrapperClassName)) 1691AtsTypeCategory.Primitive => MapPrimitiveType(typeRef.TypeId), 1692AtsTypeCategory.Enum => MapEnumType(typeRef.TypeId), 1693AtsTypeCategory.Handle => GetWrapperOrHandleName(typeRef.TypeId), 1694AtsTypeCategory.Dto => GetDtoInterfaceName(typeRef.TypeId), 1715return typeRef.TypeId is AtsConstants.Void or AtsConstants.Any or AtsConstants.CancellationToken 1875if (IsHandleType(typeRef) && _wrapperClassNames.TryGetValue(typeRef!.TypeId, out var className)) 1881if (typeRef?.TypeId == InteractionInputCollectionTypeId) 1959if (!IsAssignableToInterface(candidateTypeRef, typeRef.TypeId) || 1960!_wrapperClassNames.TryGetValue(candidateTypeRef.TypeId, out var wrapperClassName)) 1981if (string.Equals(candidateTypeRef.TypeId, interfaceTypeId, StringComparison.Ordinal)) 2011internal static bool IsCancellationTokenType(AtsTypeRef? typeRef) => typeRef?.TypeId == AtsConstants.CancellationToken; 2327var aTypeId = a.Type?.TypeId; 2328var bTypeId = b.Type?.TypeId; 2352if (!string.Equals(aCallbackParams[i].Type.TypeId, bCallbackParams[i].Type.TypeId, StringComparison.Ordinal)) 2359var aReturnTypeId = a.CallbackReturnType?.TypeId; 2360var bReturnTypeId = b.CallbackReturnType?.TypeId; 2486if (typeRef?.TypeId is { } typeId && _typesWithPromiseWrappers.Contains(typeId)) 2511if (capability.ReturnsBuilder && capability.ReturnType?.TypeId != null && 2512!string.Equals(capability.ReturnType.TypeId, builder.TypeId, StringComparison.Ordinal) && 2513!string.Equals(capability.ReturnType.TypeId, capability.TargetTypeId, StringComparison.Ordinal)) 2515return GetPublicPromiseInterfaceName(capability.ReturnType.TypeId); 2541if (IsHandleType(typeRef) && _wrapperClassNames.ContainsKey(typeRef.TypeId)) 2546if (typeRef.TypeId == InteractionInputCollectionTypeId) 2686if (!capabilitiesByTypeId.TryGetValue(expandedType.TypeId, out var list)) 2689capabilitiesByTypeId[expandedType.TypeId] = list; 2691typeRefsByTypeId[expandedType.TypeId] = expandedType; 2908return IsTypeInHierarchy(retainedType, candidateType.TypeId) || 2909IsTypeInHierarchy(candidateType, retainedType.TypeId); 2915string.Equals(interfaceType.TypeId, typeId, StringComparison.Ordinal) || 2922(string.Equals(baseType.TypeId, typeId, StringComparison.Ordinal) || 2942if (!string.IsNullOrEmpty(typeRef.TypeId) && typeRef.Category == AtsTypeCategory.Handle) 2944typeRefs.TryAdd(typeRef.TypeId, typeRef); 3085if (_typesWithPromiseWrappers.Contains(returnType.TypeId)) 3087var className = _wrapperClassNames.GetValueOrDefault(returnType.TypeId) 3088?? DeriveClassName(returnType.TypeId); 3112var returnType = callbackReturnType == null || callbackReturnType.TypeId == AtsConstants.Void
Aspire.Hosting.CodeGeneration.TypeScript.Tests (46)
AtsTypeScriptCodeGeneratorTests.cs (46)
165Assert.Contains(addTestRedis.Parameters, p => p.Name == "name" && p.Type?.TypeId == "string"); 291TargetTypeId = targetType.TypeId, 303TargetTypeId = targetType.TypeId, 414Assert.Equal("string", nameGetterCapability.ReturnType?.TypeId); 424Assert.Equal("Aspire.Hosting.CodeGeneration.TypeScript.Tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes.TestCallbackContext", nameSetterCapability.ReturnType?.TypeId); // Returns context for fluent chaining 432Assert.Equal("number", valueGetterCapability.ReturnType?.TypeId); 515t.TypeId == "Aspire.Hosting.CodeGeneration.TypeScript.Tests/Aspire.Hosting.CodeGeneration.TypeScript.Tests.TestTypes.TestRedisResource"); 651Assert.Contains(withBrowserLogs.Parameters, p => p.Name == "browser" && p.Type?.TypeId == "string" && p.IsOptional); 652Assert.Contains(withBrowserLogs.Parameters, p => p.Name == "profile" && p.Type?.TypeId == "string" && p.IsOptional); 666c.ExpandedTargetTypes.Any(t => t.TypeId.Contains("ContainerResource"))) 671TargetType = c.TargetType != null ? new { c.TargetType.TypeId, c.TargetType.IsInterface } : null, 673.Where(t => t.TypeId.Contains("ContainerResource")) 674.Select(t => new { t.TypeId, t.IsInterface }) 714if (expandedType.TypeId.Contains("ContainerResource")) 717$"Capability '{cap.CapabilityId}' ExpandedTargetType '{expandedType.TypeId}' has IsInterface = true"); 740Assert.Equal("Aspire.Hosting/Aspire.Hosting.ApplicationModel.ContainerResource", withBindMount.TargetType.TypeId); 769Assert.Contains("IResourceWithConnectionString", withConnectionStringDirect.TargetType.TypeId); 777.FirstOrDefault(t => t.TypeId.Contains("TestRedisResource")); 797Assert.Contains("TestRedisResource", withRedisSpecific.TargetType.TypeId); 805.FirstOrDefault(t => t.TypeId.Contains("TestRedisResource")); 823Assert.Contains("ContainerResource", withBindMount.TargetType.TypeId); 831.FirstOrDefault(t => t.TypeId.Contains("ContainerResource") && !t.TypeId.Contains("IContainer")); 1060$"Expanded type '{expandedType.TypeId}' should be a concrete type, not an interface"); 1084Assert.Contains("IResourceWithEnvironment", testWithEnvironmentCallback.TargetType.TypeId); 1093.FirstOrDefault(t => t.TypeId.Contains("TestRedisResource")); 1243Assert.Equal("string", capability.Parameters.Single().Type?.TypeId); 1300.Any(i => i.TypeId.Contains("IResourceWithEnvironment")); 1412.ReturnType!.TypeId; 1953Assert.Equal(expectedTypes.Select(GetAtsTypeId), parameter.CallbackParameters.Select(p => p.Type?.TypeId)); 1963Assert.Equal(GetAtsTypeId(parameterType), parameter.Type?.TypeId); 2103Assert.Equal("any", valueParam.Type.TypeId); 2251Assert.Equal(AtsConstants.CancellationToken, ctParam.Type.TypeId); 2286Assert.Equal(AtsConstants.CancellationToken, operationParam.CallbackParameters[0].Type?.TypeId); 2305Assert.Equal(AtsConstants.TimeSpan, timeoutParam.Type?.TypeId); 2309Assert.Equal(AtsConstants.CancellationToken, ctParam.Type?.TypeId); 2325Assert.Equal("Aspire.Hosting.Dotnet/Aspire.Hosting.Dotnet.DotnetProjectOptions", options.Type.TypeId); 2326var dto = Assert.Single(context.DtoTypes, dto => dto.TypeId == options.Type.TypeId); 2341Assert.Equal(legacyTypeId, legacyOptions.Type.TypeId); 2644var expandedTypeIds = withNpm.ExpandedTargetTypes.Select(t => t.TypeId).ToList(); 2675var expandedTypeIds = capability.ExpandedTargetTypes.Select(t => t.TypeId).ToList(); 2854TargetTypeId = targetType.TypeId, 2866TargetTypeId = targetType.TypeId, 2878TargetTypeId = targetType.TypeId, 2890TargetTypeId = targetType.TypeId, 3290TargetTypeId = targetType.TypeId,
Aspire.Hosting.RemoteHost (42)
Ats\AtsMarshaller.cs (6)
144if (typeRef.TypeId == AtsConstants.CancellationToken && value is CancellationToken cancellationToken) 150if (typeRef.TypeId == TypeSystem.AtsConstants.Any) 157AtsTypeCategory.Handle => _handles.Marshal(value, typeRef.TypeId), 162AtsTypeCategory.List => _handles.Marshal(value, typeRef.TypeId), 163AtsTypeCategory.Dict => _handles.Marshal(value, typeRef.TypeId), 185$"Value of type '{value.GetType()}' does not match any member of union '{typeRef.TypeId}'.");
Ats\ExternalCapabilityRegistry.cs (1)
606.Where(parameter => parameter.Type?.TypeId == AtsConstants.CancellationToken)
AtsCapabilityScanner.cs (26)
686enumTypes.TryAdd(typeRef.TypeId, typeRef.ClrType); 768if (typeRef.Category == AtsTypeCategory.Unknown && validTypes.Contains(typeRef.TypeId)) 865return typeRef.TypeId; 974AddToCompatibilityMap(typeToCompatibleTypes, iface.TypeId, concreteTypeRef); 980AddToCompatibilityMap(typeToCompatibleTypes, baseType.TypeId, concreteTypeRef); 1013.SelectMany(c => c.ExpandedTargetTypes.Select(t => (Target: t.TypeId, Capability: c))) 1085.Where(t => !targetIds.Contains(t.TypeId)) 1386AtsTypeCategory.Primitive => typeRef.TypeId != AtsConstants.CancellationToken && typeRef.TypeId != AtsConstants.Void, 1409if (!visitedDtoTypeIds.Add(typeRef.TypeId)) 1439_ = visitedDtoTypeIds.Remove(typeRef.TypeId); 1695TypeId = AtsConstants.DictTypeId(keyTypeRef.TypeId, valueTypeRef.TypeId), 1701propertyTypeId = propertyTypeRef.TypeId; 1714propertyTypeId = propertyTypeRef.TypeId; 1719propertyTypeId = propertyTypeRef.TypeId; 2109var firstParamTypeId = extendsTypeRef?.TypeId ?? MapToAtsTypeId(firstParamType, assemblyExportedTypeCache); 2684TypeId = typeRef.TypeId, 2828TypeId = AtsConstants.DictTypeId(keyTypeRef.TypeId, valueTypeRef.TypeId), 2851TypeId = AtsConstants.DictTypeId(keyTypeRef.TypeId, valueTypeRef.TypeId), 2873TypeId = AtsConstants.ListTypeId(elementTypeRef.TypeId), 2893TypeId = AtsConstants.ArrayTypeId(elementTypeRef.TypeId), 2938TypeId = AtsConstants.ArrayTypeId(elementTypeRef.TypeId), 3397TypeId = string.Join("|", unionTypes.Select(u => u.TypeId)),
AtsContextFilter.cs (8)
174yield return targetType.TypeId; 179yield return expandedTargetType.TypeId; 394if (typeRef.Category == AtsTypeCategory.Handle && !string.IsNullOrEmpty(typeRef.TypeId)) 396referencedHandleTypes.TryAdd(typeRef.TypeId, typeRef); 426if (handleTypesById.TryGetValue(typeRef.TypeId, out var handleType) && includedHandleTypeIds.Add(handleType.AtsTypeId)) 431if (dtoTypesById.TryGetValue(typeRef.TypeId, out var dtoType) && includedDtoTypeIds.Add(dtoType.TypeId)) 436if (enumTypesById.ContainsKey(typeRef.TypeId)) 438includedEnumTypeIds.Add(typeRef.TypeId);
CodeGeneration\CodeGenerationService.cs (1)
150TypeId = t.TypeId,
Aspire.Hosting.RemoteHost.Tests (24)
AtsCapabilityScannerTests.cs (20)
160Assert.Equal("string[]", itemsType.TypeId); 165Assert.Equal("string[]", enumerableReturnCapability.ReturnType.TypeId); 179Assert.Equal(expectedElementTypeId, typeRef.ElementType.TypeId); 194Assert.Contains(parameter.Type.UnionTypes!, type => type.TypeId == AtsConstants.String); 337Assert.Contains(resourceParameter.Type!.UnionTypes!, type => type.TypeId == "string"); 338Assert.Contains(resourceParameter.Type.UnionTypes!, type => type.TypeId == "Aspire.Hosting/Aspire.Hosting.ApplicationModel.IResource"); 426Assert.Equal(AtsTypeMapping.DeriveTypeId(typeof(HttpCommandExportOptions)), optionsParameter.Type.TypeId); 441Assert.Equal(AtsTypeMapping.DeriveTypeId(typeof(HttpCommandPrepareRequestContext)), callbackParameter.Type.TypeId); 443Assert.Equal(AtsTypeMapping.DeriveTypeId(typeof(HttpCommandRequestExportData)), prepareRequestProperty.CallbackReturnType?.TypeId); 472t => t.TypeId == AtsTypeMapping.DeriveTypeId(typeof(DerivedExportedProperties))); 491Assert.Equal(AtsConstants.String, nameGetter.ReturnType.TypeId); 496Assert.Equal(AtsConstants.String, descriptionGetter.ReturnType.TypeId); 517Assert.Equal(AtsConstants.String, nullableString.Type.TypeId); 522Assert.Equal(AtsConstants.String, requiredString.Type.TypeId); 527Assert.Equal(AtsConstants.Number, nullableNumber.Type.TypeId); 532Assert.Equal(AtsConstants.Number, requiredNumber.Type.TypeId); 627Assert.DoesNotContain(genericCapability.ExpandedTargetTypes, t => t.TypeId == shadowedTypeId); 628Assert.Contains(genericCapability.ExpandedTargetTypes, t => t.TypeId == otherTypeId); 629Assert.Contains(specificCapability.ExpandedTargetTypes, t => t.TypeId == shadowedTypeId); 684Assert.Equal(AtsTypeMapping.DeriveTypeId(typeof(AssemblyLevelExportedTestType)), parameter.Type.TypeId);
AtsContextFilterTests.cs (2)
230Assert.Equal("Aspire.Hosting/Aspire.Hosting.DistributedApplication", supportParameter.Type?.TypeId); 231Assert.Equal(AtsConstants.Void, filteredSupport.ReturnType.TypeId);
ExternalCapabilityRegistryTests.cs (2)
543Assert.Equal("string", capability.ReturnType!.TypeId); 571Assert.Equal("string", capability.ReturnType!.TypeId);