59 writes to Name
Aspire.Hosting.CodeGeneration.Go (1)
Aspire.Hosting.CodeGeneration.Go.Tests (6)
Aspire.Hosting.CodeGeneration.Java.Tests (6)
Aspire.Hosting.CodeGeneration.Python (1)
Aspire.Hosting.CodeGeneration.Python.Tests (17)
AtsPythonCodeGeneratorTests.cs (17)
885Name = "builder",
890Name = "from",
941Name = "builder",
946Name = "somethingAI",
1017Name = "builder",
1101Name = "optionalUnion",
1107Name = "nullableUnion",
1115Name = "nullableItems",
1203new AtsParameterInfo { Name = "builder", Type = projectType },
1204new AtsParameterInfo { Name = "target", Type = stringType },
1205new AtsParameterInfo { Name = "name", Type = stringType },
1206new AtsParameterInfo { Name = "env", Type = stringType },
1207new AtsParameterInfo { Name = "isReadOnly", Type = boolType, IsOptional = true }
1225new AtsParameterInfo { Name = "builder", Type = containerType },
1226new AtsParameterInfo { Name = "target", Type = stringType },
1227new AtsParameterInfo { Name = "name", Type = stringType, IsOptional = true },
1228new AtsParameterInfo { Name = "isReadOnly", Type = boolType, IsOptional = true }
Aspire.Hosting.CodeGeneration.TypeScript (1)
Aspire.Hosting.CodeGeneration.TypeScript.Tests (9)
AtsTypeScriptCodeGeneratorTests.cs (9)
309Parameters = [new AtsParameterInfo { Name = "value", Type = stringType }],
965Name = "values",
1482Name = "resource",
2757Name = "resource",
2762Name = "promiseResource",
3059Parameters = [new AtsParameterInfo { Name = "value", Type = stringType }],
3445Name = "configure",
3494Name = "name",
3503Name = "retries",
Aspire.Hosting.Native.CodeGeneration (6)
Aspire.Hosting.RemoteHost (8)
Aspire.Hosting.RemoteHost.Tests (4)
279 references to Name
aspire-managed (1)
Aspire.Hosting.CodeGeneration.Go (42)
AtsGoCodeGenerator.cs (35)
285.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
675.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
682.Select(p => new GoDocParameter(p.Name, GetLocalIdentifier(p.Name), isSetter ? null : p.Documentation?.Summary))
1231.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
1460.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
1518sb.Append(GetLocalIdentifier(p.Name));
1668.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
1818if (string.Equals(p.Name, targetParamName, StringComparison.Ordinal)) { continue; }
1823var paramName = GetLocalIdentifier(p.Name);
1846var paramName = GetLocalIdentifier(p.Name);
1862WriteLine($"{indent}\t\treqArgs[{GoStringLiteral(p.Name)}] = id");
1875WriteLine($"{indent}if {nilGuard} {{ reqArgs[{GoStringLiteral(p.Name)}] = serializeValue({paramName}) }}");
1879WriteLine($"{indent}reqArgs[{GoStringLiteral(p.Name)}] = serializeValue({paramName})");
1897WriteLine($"{indent}\tif applied {{ reqArgs[{GoStringLiteral(directOptionsParam.Name)}] = serializeValue(merged) }}");
1913var fieldName = ToPascalCase(p.Name);
1920var fieldName = ToPascalCase(p.Name);
1924WriteLine($"{indent}\t\t\treqArgs[{GoStringLiteral(p.Name)}] = id");
1944WriteLine($"{indent}\treqArgs[{GoStringLiteral(p.Name)}] = s.client.registerCallback(shim)");
2100.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
2134var fieldName = ToPascalCase(p.Name);
2142: $"`json:{GoStringLiteral(p.Name + ",omitempty")}`";
2165var fieldName = ToPascalCase(p.Name);
2169WriteLine($"\tif o.{fieldName} != nil {{ m[{GoStringLiteral(p.Name)}] = serializeValue(o.{fieldName}) }}");
2173WriteLine($"\tm[{GoStringLiteral(p.Name)}] = serializeValue(o.{fieldName})");
2229.Where(p => !string.Equals(p.Name, aTarget, StringComparison.Ordinal)
2231.OrderBy(p => p.Name, StringComparer.Ordinal)
2234.Where(p => !string.Equals(p.Name, bTarget, StringComparison.Ordinal)
2236.OrderBy(p => p.Name, StringComparer.Ordinal)
2246if (!string.Equals(aOpts[i].Name, bOpts[i].Name, StringComparison.Ordinal))
2280if (string.Equals(p.Name, targetParamName, StringComparison.Ordinal)) { continue; }
2307var paramName = GetLocalIdentifier(p.Name);
2312WriteLine($"{indent}\terr := fmt.Errorf(\"aspire: {methodName}: parameter %q must be one of [{allowed}], got %T\", {GoStringLiteral(p.Name)}, {paramName})");
2338return $"Allowed types for parameter {GetLocalIdentifier(p.Name)}: {allowed}{numericNote}.";
Aspire.Hosting.CodeGeneration.Go.Tests (2)
Aspire.Hosting.CodeGeneration.Java (35)
AtsJavaCodeGenerator.cs (35)
951.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
1003if (!AreParameterTypesEqual(existing[i], candidate[i]) || !string.Equals(existing[i].Name, candidate[i].Name, StringComparison.Ordinal))
1065var parameterName = ToCamelCase(parameter.Name);
1072var parameterName = ToCamelCase(parameter.Name);
1129ToCamelCase(parameter.Name),
1240var parameterName = ToCamelCase(parameter.Name);
1367.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
1423var unionParamName = ToCamelCase(unionParameter.Name);
1443overloadParameters.Append(CultureInfo.InvariantCulture, $"{parameterType} {ToCamelCase(parameter.Name)}");
1450: ToCamelCase(parameter.Name)));
1500overloadParameters.Append(CultureInfo.InvariantCulture, $"{parameterType} {ToCamelCase(parameter.Name)}");
1506? $"AspireUnion.of({ToCamelCase(parameter.Name)})"
1507: ToCamelCase(parameter.Name)));
1553var parameterList = string.Join(", ", visibleParameters.Select(parameter => $"{MapParameterToJava(parameter)} {ToCamelCase(parameter.Name)}"));
1561callArguments.Add(ToCamelCase(parameter.Name));
1612var unionParamName = ToCamelCase(unionParameter.Name);
1633overloadParameters.Append(CultureInfo.InvariantCulture, $"{parameterType} {ToCamelCase(parameter.Name)}");
1646: ToCamelCase(parameter.Name)));
1667WriteLine($" public {returnInfo.ReturnType} {methodName}({string.Join(", ", requiredParameters.Select(parameter => ReferenceEquals(parameter, unionParameter) ? $"{MapInputTypeToJava(unionType, unionParameter.IsOptional || unionParameter.IsNullable)} {ToCamelCase(parameter.Name)}" : $"{MapParameterToJava(parameter)} {ToCamelCase(parameter.Name)}"))}) {{");
1701var parameterName = ToCamelCase(parameter.Name);
1735var requiredParameterList = string.Join(", ", requiredParameters.Select(parameter => $"{MapParameterToJava(parameter)} {ToCamelCase(parameter.Name)}"));
1753var paramName = ToCamelCase(parameter.Name);
1758.Select(parameter => ToCamelCase(parameter.Name))
1759.Concat(optionalParameters.Select(parameter => ToCamelCase(parameter.Name)))
1784WriteLine($" return {methodName}({AppendArgumentList(requiredParameters.Select(parameter => ToCamelCase(parameter.Name)), "null")});");
1788WriteLine($" {methodName}({AppendArgumentList(requiredParameters.Select(parameter => ToCamelCase(parameter.Name)), "null")});");
1809paramList.Append(CultureInfo.InvariantCulture, $"{MapParameterToJava(parameter)} {ToCamelCase(parameter.Name)}");
1824var paramName = ToCamelCase(parameter.Name);
1829WriteLine($" reqArgs.put(\"{parameter.Name}\", {paramName}Id);");
1837WriteLine($" reqArgs.put(\"{parameter.Name}\", {paramName});");
1845WriteLine($" reqArgs.put(\"{parameter.Name}\", AspireClient.serializeValue({paramName}));");
1850WriteLine($" reqArgs.put(\"{parameter.Name}\", AspireClient.serializeValue({paramName}));");
1932var callbackName = ToCamelCase(callbackParam.Name);
Aspire.Hosting.CodeGeneration.Java.Tests (2)
Aspire.Hosting.CodeGeneration.Python (37)
AtsPythonCodeGenerator.cs (37)
339items[0].Parameters.Select(p => p.Name), StringComparer.Ordinal);
342commonParamNames.IntersectWith(item.Parameters.Select(p => p.Name));
347.SelectMany(c => c.Parameters.Select(p => p.Name))
362var capWithExtra = items.First(c => c.Parameters.Any(p => string.Equals(p.Name, extraParamName, StringComparison.Ordinal)));
363var extraParam = capWithExtra.Parameters.First(p => string.Equals(p.Name, extraParamName, StringComparison.Ordinal));
386if (string.Equals(p.Name, extraParamName, StringComparison.Ordinal))
390Name = p.Name,
410var capWithoutExtra = items.FirstOrDefault(c => !c.Parameters.Any(p => string.Equals(p.Name, extraParamName, StringComparison.Ordinal)));
454? parameters.Where(p => p.Name != targetParameterName)
457if (parameters.Any(p => string.Equals(p.Name, "timeout", StringComparison.Ordinal)))
475return ToSnakeCase(param.Name);
1326var valueParam = setter.Parameters.FirstOrDefault(p => p.Name == "value");
1425sb.AppendLine(CultureInfo.InvariantCulture, $" rpc_args['{param.Name}'] = {paramHandler}");
1429sb.AppendLine(CultureInfo.InvariantCulture, $" rpc_args['{param.Name}'] = {paramHandler}");
1765sb.AppendLine(CultureInfo.InvariantCulture, $" rpc_args['{param.Name}'] = {paramHandler}");
1769sb.AppendLine(CultureInfo.InvariantCulture, $" rpc_args['{param.Name}'] = {paramHandler}");
1778var discriminatingParam = userParams.First(p => string.Equals(p.Name, mergedDispatch.DiscriminatingParamName, StringComparison.Ordinal));
1852paramArgs.Add(param.Name);
1883sb.AppendLine(CultureInfo.InvariantCulture, $" rpc_args['{param.Name}'] = {paramName}");
1887sb.AppendLine(CultureInfo.InvariantCulture, $" rpc_args['{param.Name}'] = {paramName}");
2543parameters.AppendLine(CultureInfo.InvariantCulture, $" {ToSnakeCase(requiredParam.Name!)}: typing.Required[{MapParameterToPython(requiredParam)}]");
2547parameters.AppendLine(CultureInfo.InvariantCulture, $" {ToSnakeCase(optionalParam.Name!)}: {MapParameterToPython(optionalParam)}");
2629.OrderBy(p => p.Name, StringComparer.Ordinal)
2630.Select(p => $"{ToSnakeCase(p.Name!)}:{MapParameterToPython(p)}")],
2632.OrderBy(p => p.Name, StringComparer.Ordinal)
2633.Select(p => $"{ToSnakeCase(p.Name!)}:{MapParameterToPython(p)}")]);
2662if (requiredParams.Any(p => string.Equals(p.Name, paramName, StringComparison.Ordinal)))
2670return optionalParams.Any(p => string.Equals(p.Name, paramName, StringComparison.Ordinal));
2680return optionalParams.Any(p => string.Equals(p.Name, paramName, StringComparison.Ordinal));
2687return string.Equals(singleParam.Name, paramName, StringComparison.Ordinal);
2749var paramHandler = GetConstructorParamHandler(param, $"typing.cast({currentOption}, _{optionName})[\"{ToSnakeCase(param.Name!)}\"]");
2750builder.AppendLine(CultureInfo.InvariantCulture, $" rpc_args[\"{param.Name}\"] = {paramHandler}");
2754var paramHandler = GetConstructorParamHandler(param, $"typing.cast({currentOption}, _{optionName}).get(\"{ToSnakeCase(param.Name!)}\")");
2755builder.AppendLine(CultureInfo.InvariantCulture, $" rpc_args[\"{param.Name}\"] = {paramHandler}");
2778builder.AppendLine(CultureInfo.InvariantCulture, $" rpc_args[\"{param.Name}\"] = {paramHandler}");
2784builder.AppendLine(CultureInfo.InvariantCulture, $" rpc_args[\"{param.Name}\"] = {paramHandler}");
2796builder.AppendLine(CultureInfo.InvariantCulture, $" rpc_args[\"{singleParam.Name}\"] = {paramHandler}");
Aspire.Hosting.CodeGeneration.Python.Tests (2)
Aspire.Hosting.CodeGeneration.Rust (13)
AtsRustCodeGenerator.cs (13)
464.Where(p => !string.Equals(p.Name, targetParamName, StringComparison.Ordinal))
481var paramName = ToSnakeCase(parameter.Name);
519var paramName = ToSnakeCase(parameter.Name);
523WriteLine($" args.insert(\"{parameter.Name}\".to_string(), Value::String(callback_id));");
531WriteLine($" args.insert(\"{parameter.Name}\".to_string(), Value::String(token_id));");
542WriteLine($" args.insert(\"{parameter.Name}\".to_string(), v.handle().to_json());");
547WriteLine($" args.insert(\"{parameter.Name}\".to_string(), {paramName}.handle().to_json());");
558WriteLine($" args.insert(\"{parameter.Name}\".to_string(), v.handle().to_json());");
563WriteLine($" args.insert(\"{parameter.Name}\".to_string(), {paramName}.handle().to_json());");
575WriteLine($" args.insert(\"{parameter.Name}\".to_string(), Value::Array(handles));");
581WriteLine($" args.insert(\"{parameter.Name}\".to_string(), Value::Array(handles));");
589WriteLine($" args.insert(\"{parameter.Name}\".to_string(), serde_json::to_value(v).unwrap_or(Value::Null));");
594WriteLine($" args.insert(\"{parameter.Name}\".to_string(), serde_json::to_value(&{paramName}).unwrap_or(Value::Null));");
Aspire.Hosting.CodeGeneration.Rust.Tests (2)
Aspire.Hosting.CodeGeneration.TypeScript (82)
AtsTypeScriptCodeGenerator.cs (62)
120.Where(p => !string.Equals(p.Name, capability.TargetParameterName, StringComparison.Ordinal))
122.Select(p => (p.Name, Summary: p.Documentation?.Summary))
339return parameter.Name == "arguments" ? "argumentsValue" : parameter.Name;
364return $"{param.Name}: {localParameterName}Id";
368return valueExpression == param.Name
369? param.Name
370: $"{param.Name}: {valueExpression}";
769WriteLine($" {param.Name}?: {tsType};");
829var valueParam = setter.Parameters.FirstOrDefault(p => p.Name == "value");
1111var userParams = capability.Parameters.Where(p => p.Name != targetParamName).ToList();
1129internalParamDefs.Add($"{param.Name}{optional}: {tsType}");
1175WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
1211WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
1299WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
1303var allParamNames = userParams.Select(p => optionalParams.Contains(p) ? GetLocalParameterName(p) : p.Name);
1350WriteLine($"{indent}{param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};");
1408requiredArgs.Add(GetRpcArgumentEntryForParam(param, param.Name));
1416var localParameterName = useSafeOptionalLocalNames ? GetLocalParameterName(param) : param.Name;
1418WriteLine($"{indent}if ({localParameterName} !== undefined) rpcArgs.{param.Name} = {rpcExpression};");
1441requiredArgs.Add(GetRpcArgumentEntryForParam(param, param.Name));
1449var localParameterName = useSafeOptionalLocalNames ? GetLocalParameterName(param) : param.Name;
1451WriteLine($"{indent}if ({localParameterName} !== undefined) rpcArgs.{param.Name} = {rpcExpression};");
1473var localParameterName = useSafeOptionalLocalNames ? GetLocalParameterName(param) : param.Name;
1759WriteLine($" {param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};");
1764.Select(param => GetRpcArgumentEntryForParam(param, param.Name, useRegisteredCallback: false))
1769WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentExpressionForParam(param, param.Name, useRegisteredCallback: false)};");
1795WriteLine($" {param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};");
1800.Select(param => GetRpcArgumentEntryForParam(param, param.Name, useRegisteredCallback: false))
1805WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentExpressionForParam(param, param.Name, useRegisteredCallback: false)};");
1838var callbackName = callbackParam.Name;
1884var callbackName = callbackParam.Name;
2308var valueParam = setter.Parameters.FirstOrDefault(p => p.Name == "value");
2472var valueParam = setter.Parameters.FirstOrDefault(p => p.Name == "value");
2646var userParams = method.Parameters.Where(p => p.Name != targetParamName).ToList();
2679WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
2706WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
2761var userParams = capability.Parameters.Where(p => p.Name != firstParamName).ToList();
2792WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
2819WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
2879var userParams = capability.Parameters.Where(p => p.Name != targetParamName).ToList();
2897internalParamDefs.Add($"{param.Name}{optional}: {tsType}");
2954WriteLine($" if ({callback.Name}Id) unregisterCallback({callback.Name}Id);");
2971WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
2974var internalCallArgs = userParams.Select(p => optionalParams.Contains(p) ? GetLocalParameterName(p) : p.Name);
3029WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
3033Write(string.Join(", ", userParams.Select(p => optionalParams.Contains(p) ? GetLocalParameterName(p) : p.Name)));
3049WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};");
TypeScriptApiProjector.cs (19)
316: capability.Parameters.Where(p => p.Name != targetParamName).ToList();
365Name = parameter.Name,
1206if (setter?.Parameters.FirstOrDefault(p => p.Name == "value") is { } valueParam)
1293Name = parameter.Name,
1463Id = $"property:{interfaceName}.{param.Name}",
1465Name = param.Name,
1466Declaration = $"{param.Name}?: {MapParameterToTypeScript(param)}",
2250declared => string.Equals(declared.Name, param.Name, StringComparison.Ordinal));
2282var match = existing.FirstOrDefault(p => p.Name == param.Name);
2310if (!string.Equals(existing[i].Name, candidate[i].Name, StringComparison.Ordinal)
2387publicParamDefs.Add($"{param.Name}: {tsType}");
2395publicParamDefs.Add($"{trailingCancellationToken.Name}?: {MapParameterToTypeScript(trailingCancellationToken)}");
2415=> requiredParams.Any(p => string.Equals(p.Name, name, StringComparison.Ordinal))
2416|| string.Equals(trailingCancellationToken?.Name, name, StringComparison.Ordinal);
2445if (!userParams.Any(p => string.Equals(p.Name, "options", StringComparison.Ordinal)))
2451while (userParams.Any(p => string.Equals(p.Name, candidate, StringComparison.Ordinal)))
Aspire.Hosting.CodeGeneration.TypeScript.Tests (26)
AtsTypeScriptCodeGeneratorTests.cs (26)
173Assert.Contains(addTestRedis.Parameters, p => p.Name == "name" && p.Type?.TypeId == "string");
174Assert.Contains(addTestRedis.Parameters, p => p.Name == "port" && p.IsOptional);
188var nameParameter = addTestRedis.Parameters.First(p => p.Name == "name");
191var portParameter = addTestRedis.Parameters.First(p => p.Name == "port");
425Assert.Equal("context", nameGetterCapability.Parameters[0].Name);
662var valueParameter = Assert.Single(setValue.Parameters, p => p.Name == "value");
676Assert.DoesNotContain(tryGetCurrentValue.Parameters, p => p.Name != "context");
713Assert.Contains(withBrowserLogs.Parameters, p => p.Name == "browser" && p.Type?.TypeId == "string" && p.IsOptional);
714Assert.Contains(withBrowserLogs.Parameters, p => p.Name == "profile" && p.Type?.TypeId == "string" && p.IsOptional);
715Assert.Contains(withBrowserLogs.Parameters, p => p.Name == "userDataMode" && p.IsOptional);
911var dependencyParam = withDependency.Parameters.FirstOrDefault(p => p.Name == "dependency");
1194Assert.Contains(withReference.Parameters, p => p.Name == "name" && p.IsOptional);
1223withVolume.Parameters.Select(parameter => parameter.Name));
1237withProjectVolume.Parameters.Select(parameter => parameter.Name));
1249withExecutableVolume.Parameters.Select(parameter => parameter.Name));
1391Assert.True(Assert.Single(propertySetter.Parameters, p => p.Name == "value").Type?.IsNullable);
2108var parameter = Assert.Single(capability.Parameters, p => p.Name == parameterName);
2132Assert.Equal(parameterNames, capability.Parameters.Select(p => p.Name));
2257var valueParam = dictSet.Parameters.FirstOrDefault(p => p.Name == "value");
2407var ctParam = getStatusAsync.Parameters.FirstOrDefault(p => p.Name == "cancellationToken");
2438var operationParam = withCancellableOperation.Parameters.FirstOrDefault(p => p.Name == "operation");
2462var timeoutParam = waitForReadyAsync.Parameters.FirstOrDefault(p => p.Name == "timeout");
2466var ctParam = waitForReadyAsync.Parameters.FirstOrDefault(p => p.Name == "cancellationToken");
2485Assert.Equal(["name", "projectPath", "launchProfileOrOptions"], capability.Parameters.Select(parameter => parameter.Name));
2504var options = Assert.Single(addDotnetProject.Parameters, parameter => parameter.Name == "options");
2521var legacyOptions = Assert.Single(addCSharpApp.Parameters, parameter => parameter.Name == "options");
Aspire.Hosting.Native.CodeGeneration (22)
NativeCSharpProjection.cs (16)
98var inputs = capability.Parameters.Where(parameter => isStatic || parameter.Name != capability.TargetParameterName).ToArray();
106var reservedNames = inputs.Select(parameter => parameter.Name).ToHashSet(StringComparer.Ordinal);
121var callbackNames = callbacks.ToDictionary(parameter => parameter.Name,
122parameter => ReserveName(parameter.Name + "Id"), StringComparer.Ordinal);
123var parameters = inputs.Select(parameter => $"{(parameter.IsCallback ? $"Func<{TypeName(parameter.CallbackParameters![0].Type)}, Task>" : TypeName(parameter.Type!))} @{parameter.Name}");
132code.AppendLine(CultureInfo.InvariantCulture, $" /// <param name=\"{parameter.Name}\">The {parameter.Name} contract argument.</param>");
161? $"@{parameter.Name} switch {{ {string.Join(", ", parameter.Type.UnionTypes!.Select(member =>
164: $"{TypeName(member)} remote => {connectionName}.GetHandle(remote)"))}, _ => throw new ArgumentException(\"Unsupported symbolic value.\", nameof(@{parameter.Name})) }}"
166? $"{connectionName}.GetHandle(@{parameter.Name})"
167: $"JsonSerializer.SerializeToElement(@{parameter.Name}, NativeClientJsonContext.Default.{JsonContextName(parameterType)})";
168code.AppendLine(CultureInfo.InvariantCulture, $" {argumentsName}.Add({Literal(parameter.Name)}, {value});");
173var callbackName = callbackNames[callback.Name];
174code.AppendLine(CultureInfo.InvariantCulture, $" ArgumentNullException.ThrowIfNull(@{callback.Name});");
179$" await @{callback.Name}(new {callbackType}({connectionName}, callbackArguments.GetProperty(\"p0\"))).ConfigureAwait(false);");
183$" {argumentsName}.Add({Literal(callback.Name)}, JsonSerializer.SerializeToElement({callbackName}, NativeClientJsonContext.Default.String));");
Aspire.Hosting.RemoteHost (7)
Aspire.Hosting.RemoteHost.Tests (6)