467 references to WriteLine
Aspire.Hosting.CodeGeneration.TypeScript (467)
AtsTypeScriptCodeGenerator.cs (467)
201WriteLine($"{indent}/** {lines[0]} */"); 205WriteLine($"{indent}/**"); 208WriteLine(line.Length == 0 ? $"{indent} *" : $"{indent} * {line}"); 210WriteLine($"{indent} */"); 459WriteLine(""" 512WriteLine(); 590WriteLine("// ============================================================================"); 591WriteLine("// Handle Type Aliases (Internal - not exported to users)"); 592WriteLine("// ============================================================================"); 593WriteLine(); 601WriteLine($"type {handleName} = Handle<'{typeId}'>;"); 602WriteLine(); 625WriteLine("// ============================================================================"); 626WriteLine("// Enum Types"); 627WriteLine("// ============================================================================"); 628WriteLine(); 633WriteLine($"export enum {enumType.Name} {{"); 643WriteLine($" {value.Name} = \"{value.Name}\","); 646WriteLine("}"); 647WriteLine(); 665WriteLine("// ============================================================================"); 666WriteLine("// DTO Interfaces"); 667WriteLine("// ============================================================================"); 668WriteLine(); 675WriteLine($"export interface {interfaceName} {{"); 686WriteLine($" {propName}?: {tsType};"); 693WriteLine($" /** {clientOnly.Summary} */"); 694WriteLine($" {clientOnly.Name}?: {clientOnly.Type};"); 697WriteLine("}"); 698WriteLine(); 711WriteLine("// ============================================================================"); 712WriteLine("// Exported Values"); 713WriteLine("// ============================================================================"); 714WriteLine(); 718WriteLine(exportedNamespace.Content); 719WriteLine(); 733WriteLine("// ============================================================================"); 734WriteLine("// Options Interfaces"); 735WriteLine("// ============================================================================"); 736WriteLine(); 740WriteLine($"export interface {interfaceName} {{"); 745WriteLine($" {param.Name}?: {tsType};"); 747WriteLine("}"); 748WriteLine(); 756WriteLine($" {propertyName}(): {returnType};"); 774WriteLine($" readonly {propertyName}: AspireDict<{keyType}, {valueType}>;"); 782WriteLine($" readonly {propertyName}: AspireList<{elementType}>;"); 788WriteLine($" {propertyName}: {{"); 794WriteLine($" get: () => {promiseInterfaceName};"); 799WriteLine($" get: () => Promise<{returnTypeName}>;"); 809WriteLine($" set: (value: {valueType}) => Promise<void>;"); 813WriteLine(" };"); 820WriteLine("// ============================================================================"); 821WriteLine($"// {interfaceName}"); 822WriteLine("// ============================================================================"); 823WriteLine(); 825WriteLine($"export interface {interfaceName} {{"); 826WriteLine(" toJSON(): MarshalledHandle;"); 851WriteLine($" {capability.MethodName}({signature.ParameterList}): {promiseInterfaceName};"); 856WriteLine($" {capability.MethodName}({signature.ParameterList}): Promise<{returnType}>;"); 861WriteLine($" {capability.MethodName}({signature.ParameterList}): {_projector.GetBuilderPromiseInterfaceForMethod(builder, capability)};"); 865WriteLine("}"); 866WriteLine(); 888WriteLine($"export interface {promiseInterfaceName} extends PromiseLike<{interfaceName}> {{"); 905WriteLine($" {capability.MethodName}({signature.ParameterList}): {returnPromiseInterfaceName};"); 910WriteLine($" {capability.MethodName}({signature.ParameterList}): Promise<{returnType}>;"); 915WriteLine($" {capability.MethodName}({signature.ParameterList}): {_projector.GetBuilderPromiseInterfaceForMethod(builder, capability)};"); 919WriteLine("}"); 920WriteLine(); 931WriteLine($" {signature.MethodName}({signature.ParameterList}): {_projector.GetPublicPromiseInterfaceName(capability.ReturnType.TypeId)};"); 935WriteLine($" {signature.MethodName}({signature.ParameterList}): {TypeScriptApiProjector.GetPromiseInterfaceName(className)};"); 940WriteLine($" {signature.MethodName}({signature.ParameterList}): Promise<{returnType}>;"); 949WriteLine("// ============================================================================"); 950WriteLine($"// {interfaceName}"); 951WriteLine("// ============================================================================"); 952WriteLine(); 954WriteLine($"export interface {interfaceName} {{"); 955WriteLine(" toJSON(): MarshalledHandle;"); 978WriteLine("}"); 979WriteLine(); 987WriteLine($"export interface {promiseInterfaceName} extends PromiseLike<{interfaceName}> {{"); 996WriteLine("}"); 997WriteLine(); 1007WriteLine("// ============================================================================"); 1008WriteLine($"// {implementationClassName}"); 1009WriteLine("// ============================================================================"); 1010WriteLine(); 1016WriteLine($"class {implementationClassName} extends ResourceBuilderBase<{handleType}> implements {builder.BuilderClassName} {{"); 1019WriteLine($" constructor(handle: {handleType}, client: AspireClientRpc) {{"); 1020WriteLine($" super(handle, client);"); 1021WriteLine(" }"); 1022WriteLine(); 1046WriteLine("}"); 1047WriteLine(); 1145WriteLine($"): {returnPromiseInterfaceName} {{"); 1146WriteLine(" const promise = (async () => {"); 1151WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 1163WriteLine($" const handle = await this._client.invokeCapability<{returnHandleType}>("); 1164WriteLine($" '{capability.CapabilityId}',"); 1165WriteLine(" rpcArgs"); 1166WriteLine(" );"); 1167WriteLine($" return new {returnImplementationClassNameForWrapper}(handle, this._client);"); 1168WriteLine(" })();"); 1169WriteLine($" return new {returnPromiseImplementationClassName}(promise, this._client);"); 1170WriteLine(" }"); 1171WriteLine(); 1181WriteLine($"): Promise<{returnType}> {{"); 1187WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 1205WriteLine(" const result = await this._client.invokeCapability<string | null>("); 1206WriteLine($" '{capability.CapabilityId}',"); 1207WriteLine(" rpcArgs"); 1208WriteLine(" );"); 1209WriteLine(" return CancellationToken.fromValue(result);"); 1213WriteLine($" return await this._client.invokeCapability<{returnType}>("); 1214WriteLine($" '{capability.CapabilityId}',"); 1215WriteLine($" rpcArgs"); 1216WriteLine(" );"); 1218WriteLine(" }"); 1219WriteLine(); 1224WriteLine($" /** @internal */"); 1228WriteLine(); 1245WriteLine($" const result = await this._client.invokeCapability<{returnHandle}>("); 1246WriteLine($" '{capability.CapabilityId}',"); 1247WriteLine($" rpcArgs"); 1248WriteLine(" );"); 1249WriteLine($" return new {returnImplementationClassName}(result, this._client);"); 1253WriteLine($" await this._client.invokeCapability<void>("); 1254WriteLine($" '{capability.CapabilityId}',"); 1255WriteLine($" rpcArgs"); 1256WriteLine(" );"); 1257WriteLine($" return this;"); 1259WriteLine(" }"); 1260WriteLine(); 1269WriteLine(); 1275WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 1288WriteLine($" const flushAndBuild = async () => {{ await this._client.flushPendingPromises(); return {internalCall}; }};"); 1292WriteLine($" return new {promiseImplementationClass}(flushAndBuild(), this._client, false);"); 1296WriteLine($" return new {promiseImplementationClass}({internalCall}, this._client);"); 1298WriteLine(" }"); 1299WriteLine(); 1326WriteLine($"{indent}{param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};"); 1345WriteLine($"{indent}{paramName} = isPromiseLike({paramName}) ? await {paramName} : {paramName};"); 1387WriteLine($"{indent}const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1394WriteLine($"{indent}if ({localParameterName} !== undefined) rpcArgs.{param.Name} = {rpcExpression};"); 1420WriteLine($"{indent}const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1427WriteLine($"{indent}if ({localParameterName} !== undefined) rpcArgs.{param.Name} = {rpcExpression};"); 1454WriteLine($"{indent}const {dtoRpcLocalName} = {localParameterName} === undefined || {localParameterName} === null ? {localParameterName} : {{ ...{localParameterName} }};"); 1455WriteLine($"{indent}if ({dtoRpcLocalName} !== undefined && {dtoRpcLocalName} !== null) {{"); 1457WriteLine($"{indent}}}"); 1461WriteLine($"{indent}const {dtoRpcLocalName} = {localParameterName} === null ? {localParameterName} : {{ ...{localParameterName} }};"); 1462WriteLine($"{indent}if ({dtoRpcLocalName} !== null) {{"); 1464WriteLine($"{indent}}}"); 1477WriteLine($"{indent}const {dtoDataLocalName} = {dtoRpcLocalName} as Record<string, unknown>;"); 1485WriteLine($"{indent}const {callbackLocalName} = {dtoRpcLocalName}.{propertyName};"); 1486WriteLine($"{indent}if ({callbackLocalName} !== undefined) {{"); 1488WriteLine($"{indent} {dtoDataLocalName}[\"{propertyName}\"] = {callbackLocalName}Id;"); 1489WriteLine($"{indent}}}"); 1521WriteLine($"{indent}const {dtoPropertyLocalName} = {dtoRpcLocalName}.{propertyName};"); 1522WriteLine($"{indent}if ({dtoPropertyLocalName} !== undefined && {dtoPropertyLocalName} !== null) {{"); 1523WriteLine($"{indent} const {nestedDtoRpcLocalName} = {{ ...{dtoPropertyLocalName} }};"); 1525WriteLine($"{indent} {dtoDataLocalName}[\"{propertyName}\"] = {nestedDtoRpcLocalName};"); 1526WriteLine($"{indent}}}"); 1635WriteLine("/** @internal */"); 1636WriteLine($"const {promiseImplementationClass} = $aspireCreateFluentPromiseClass<{className}, {promiseClass}>((): $aspireFluentPromiseTransitions => ({{"); 1642WriteLine($" [{methodNameLiteral}]: null,"); 1654WriteLine($" [{methodNameLiteral}]: {transitionExpression},"); 1656WriteLine("}));"); 1657WriteLine(); 1667WriteLine("// ============================================================================"); 1668WriteLine("// Entry Point Functions"); 1669WriteLine("// ============================================================================"); 1670WriteLine(); 1727WriteLine($"): {signature.ReturnType} {{"); 1729WriteLine($" const promise = (async () => {{"); 1735WriteLine($" {param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};"); 1742WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1745WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentExpressionForParam(param, param.Name, useRegisteredCallback: false)};"); 1747WriteLine($" const handle = await client.invokeCapability<{handleType}>("); 1748WriteLine($" '{capability.CapabilityId}',"); 1749WriteLine(" rpcArgs"); 1750WriteLine(" );"); 1751WriteLine($" return new {returnWrapperImplementationClass}(handle, client);"); 1752WriteLine($" }})();"); 1753WriteLine($" return new {returnPromiseImplementationClass}(promise, client);"); 1754WriteLine("}"); 1765WriteLine($"): {signature.ReturnType} {{"); 1771WriteLine($" {param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};"); 1778WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1781WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentExpressionForParam(param, param.Name, useRegisteredCallback: false)};"); 1785WriteLine($" await client.invokeCapability<void>("); 1789WriteLine(" const result = await client.invokeCapability<string | null>("); 1790WriteLine($" '{capability.CapabilityId}',"); 1791WriteLine(" rpcArgs"); 1792WriteLine(" );"); 1793WriteLine(" return CancellationToken.fromValue(result);"); 1794WriteLine("}"); 1795WriteLine(); 1800WriteLine($" return await client.invokeCapability<{returnType}>("); 1802WriteLine($" '{capability.CapabilityId}',"); 1803WriteLine(" rpcArgs"); 1804WriteLine(" );"); 1805WriteLine("}"); 1807WriteLine(); 1834WriteLine($"{indent}const {callbackName}Id = {callbackName} ? registerCallback(async ({paramSignature}) => {{"); 1838WriteLine($"{indent}const {callbackName}Id = registerCallback(async ({paramSignature}) => {{"); 1847WriteLine(indent + "}) : undefined;"); 1851WriteLine(indent + "});"); 1871WriteLine($"{bodyIndent}{returnPrefix}await {callbackName}();"); 1879WriteLine($"{bodyIndent}{returnPrefix}await {callbackName}({cbParam.Name});"); 1893WriteLine($"{bodyIndent}{returnPrefix}await {callbackName}({string.Join(", ", callArgs)});"); 1904WriteLine($"{indent}const {callbackParameter.Name} = CancellationToken.fromValue({callbackArgName});"); 1912WriteLine($"{indent}const {callbackParameter.Name}Handle = wrapIfHandle({callbackArgName}) as {handleType};"); 1913WriteLine($"{indent}const {callbackParameter.Name} = new AspireDict<{keyType}, {valueType}>({callbackParameter.Name}Handle, {clientExpression}, '{cbTypeId}');"); 1918WriteLine($"{indent}const {callbackParameter.Name}Handle = wrapIfHandle({callbackArgName}) as {handleType};"); 1919WriteLine($"{indent}const {callbackParameter.Name} = new {TypeScriptApiProjector.GetImplementationClassName(wrapperClassName)}({callbackParameter.Name}Handle, {clientExpression});"); 1923WriteLine($"{indent}const {callbackParameter.Name} = wrapIfHandle({callbackArgName}) as {tsType};"); 1931WriteLine($$""" 2007WriteLine(); 2012WriteLine(""" 2070WriteLine(); 2071WriteLine("// ============================================================================"); 2072WriteLine("// Handle Wrapper Registrations"); 2073WriteLine("// ============================================================================"); 2074WriteLine(); 2075WriteLine("// Register wrapper factories for typed handle wrapping in callbacks"); 2082WriteLine($"registerHandleWrapper('{typeClass.TypeId}', (handle, client) => new {TypeScriptApiProjector.GetImplementationClassName(className)}(handle as {handleType}, client));"); 2090WriteLine($"registerHandleWrapper('{builder.TypeId}', (handle, client) => new {TypeScriptApiProjector.GetImplementationClassName(className)}(handle as {handleType}, client));"); 2102WriteLine($"registerHandleWrapper('{aliasTypeId}', (handle, client) => new {TypeScriptApiProjector.GetImplementationClassName(className)}(handle as {handleType}, client));"); 2105WriteLine(); 2121WriteLine("// ============================================================================"); 2122WriteLine($"// {implementationClassName}"); 2123WriteLine("// ============================================================================"); 2124WriteLine(); 2135WriteLine($"class {implementationClassName} implements {className} {{"); 2136WriteLine($" constructor(private _handle: {handleType}, private _client: AspireClientRpc) {{}}"); 2137WriteLine(); 2138WriteLine($" /** Serialize for JSON-RPC transport */"); 2139WriteLine($" toJSON(): MarshalledHandle {{ return this._handle.toJSON(); }}"); 2140WriteLine(); 2175WriteLine("}"); 2176WriteLine(); 2247WriteLine($" {propertyName} = {{"); 2252WriteLine($" get: async (): Promise<{returnType}> => {{"); 2255WriteLine(" const result = await this._client.invokeCapability<string | null>("); 2256WriteLine($" '{getter.CapabilityId}',"); 2257WriteLine(" { context: this._handle }"); 2258WriteLine(" );"); 2259WriteLine(" return CancellationToken.fromValue(result);"); 2263WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2264WriteLine($" '{getter.CapabilityId}',"); 2265WriteLine($" {{ context: this._handle }}"); 2266WriteLine(" );"); 2268WriteLine(" },"); 2278WriteLine($" set: async (value: {valueType}): Promise<void> => {{"); 2280WriteLine($" await this._client.invokeCapability<void>("); 2281WriteLine($" '{setter.CapabilityId}',"); 2282WriteLine($" {{ context: this._handle, {GetRpcArgumentEntry("value", valueParam.Type)} }}"); 2283WriteLine(" );"); 2284WriteLine(" }"); 2288WriteLine(" };"); 2289WriteLine(); 2320WriteLine($" {propertyName}(): {promiseInterfaceName} {{"); 2321WriteLine($" return new {promiseImplementationClassName}(this._client.invokeCapability<{collectionType}>("); 2322WriteLine($" '{getter.CapabilityId}',"); 2323WriteLine(" { context: this._handle }"); 2324WriteLine(" ), this._client, false);"); 2325WriteLine(" }"); 2326WriteLine(); 2332WriteLine($" async {propertyName}(): Promise<{returnType}> {{"); 2335WriteLine(" const result = await this._client.invokeCapability<string | null>("); 2336WriteLine($" '{getter.CapabilityId}',"); 2337WriteLine(" { context: this._handle }"); 2338WriteLine(" );"); 2339WriteLine(" return CancellationToken.fromValue(result);"); 2343WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2344WriteLine($" '{getter.CapabilityId}',"); 2345WriteLine(" { context: this._handle }"); 2346WriteLine(" );"); 2348WriteLine(" }"); 2349WriteLine(); 2359WriteLine($" {propertyName}(): {promiseInterfaceName} {{"); 2360WriteLine(" const promise = (async () => {"); 2361WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 2362WriteLine($" '{getter.CapabilityId}',"); 2363WriteLine(" { context: this._handle }"); 2364WriteLine(" );"); 2365WriteLine($" return new {wrapperImplementationClassName}(handle, this._client);"); 2366WriteLine(" })();"); 2367WriteLine($" return new {promiseImplementationClassName}(promise, this._client, false);"); 2368WriteLine(" }"); 2369WriteLine(); 2373WriteLine($" async {propertyName}(): Promise<{wrapperClassName}> {{"); 2374WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 2375WriteLine($" '{getter.CapabilityId}',"); 2376WriteLine(" { context: this._handle }"); 2377WriteLine(" );"); 2378WriteLine($" return new {wrapperImplementationClassName}(handle, this._client);"); 2379WriteLine(" }"); 2380WriteLine(); 2411WriteLine($" {propertyName} = {{"); 2414WriteLine($" get: (): {promiseInterfaceName} => {{"); 2415WriteLine(" const promise = (async () => {"); 2416WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 2417WriteLine($" '{getter.CapabilityId}',"); 2418WriteLine($" {{ context: this._handle }}"); 2419WriteLine(" );"); 2420WriteLine($" return new {wrapperImplementationClassName}(handle, this._client);"); 2421WriteLine(" })();"); 2422WriteLine($" return new {promiseImplementationClassName}(promise, this._client, false);"); 2423WriteLine(" },"); 2427WriteLine($" get: async (): Promise<{wrapperClassName}> => {{"); 2428WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 2429WriteLine($" '{getter.CapabilityId}',"); 2430WriteLine($" {{ context: this._handle }}"); 2431WriteLine(" );"); 2432WriteLine($" return new {wrapperImplementationClassName}(handle, this._client);"); 2433WriteLine(" },"); 2442WriteLine($" set: async (value: {valueType}): Promise<void> => {{"); 2444WriteLine($" await this._client.invokeCapability<void>("); 2445WriteLine($" '{setter.CapabilityId}',"); 2446WriteLine($" {{ context: this._handle, {GetRpcArgumentEntry("value", valueParam.Type)} }}"); 2447WriteLine(" );"); 2448WriteLine(" }"); 2452WriteLine(" };"); 2453WriteLine(); 2480WriteLine($" private _{propertyName}?: AspireDict<{keyType}, {valueType}>;"); 2481WriteLine($" async {propertyName}(): Promise<AspireDict<{keyType}, {valueType}>> {{"); 2482WriteLine($" if (!this._{propertyName}) {{"); 2483WriteLine($" this._{propertyName} = new AspireDict<{keyType}, {valueType}>("); 2484WriteLine($" this._handle,"); 2485WriteLine($" this._client,"); 2486WriteLine($" {typeId},"); 2487WriteLine($" {getterCapabilityId}"); 2488WriteLine(" );"); 2489WriteLine(" }"); 2490WriteLine($" return this._{propertyName};"); 2491WriteLine(" }"); 2492WriteLine(); 2513WriteLine($" private _{propertyName}?: AspireDict<{keyType}, {valueType}>;"); 2514WriteLine($" get {propertyName}(): AspireDict<{keyType}, {valueType}> {{"); 2515WriteLine($" if (!this._{propertyName}) {{"); 2516WriteLine($" this._{propertyName} = new AspireDict<{keyType}, {valueType}>("); 2517WriteLine($" this._handle,"); 2518WriteLine($" this._client,"); 2519WriteLine($" {typeId},"); 2520WriteLine($" {getterCapabilityId}"); 2521WriteLine(" );"); 2522WriteLine(" }"); 2523WriteLine($" return this._{propertyName};"); 2524WriteLine(" }"); 2525WriteLine(); 2545WriteLine($" private _{propertyName}?: AspireList<{elementType}>;"); 2546WriteLine($" async {propertyName}(): Promise<AspireList<{elementType}>> {{"); 2547WriteLine($" if (!this._{propertyName}) {{"); 2548WriteLine($" this._{propertyName} = new AspireList<{elementType}>("); 2549WriteLine($" this._handle,"); 2550WriteLine($" this._client,"); 2551WriteLine($" {typeId},"); 2552WriteLine($" {getterCapabilityId}"); 2553WriteLine(" );"); 2554WriteLine(" }"); 2555WriteLine($" return this._{propertyName};"); 2556WriteLine(" }"); 2557WriteLine(); 2572WriteLine($" private _{propertyName}?: AspireList<{elementType}>;"); 2573WriteLine($" get {propertyName}(): AspireList<{elementType}> {{"); 2574WriteLine($" if (!this._{propertyName}) {{"); 2575WriteLine($" this._{propertyName} = new AspireList<{elementType}>("); 2576WriteLine($" this._handle,"); 2577WriteLine($" this._client,"); 2578WriteLine($" {typeId},"); 2579WriteLine($" {getterCapabilityId}"); 2580WriteLine(" );"); 2581WriteLine(" }"); 2582WriteLine($" return this._{propertyName};"); 2583WriteLine(" }"); 2584WriteLine(); 2639WriteLine($"): {returnPromiseInterfaceName} {{"); 2640WriteLine(" const promise = (async () => {"); 2645WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2650WriteLine($" const handle = await this._client.invokeCapability<{returnHandleType}>("); 2651WriteLine($" '{method.CapabilityId}',"); 2652WriteLine(" rpcArgs"); 2653WriteLine(" );"); 2654WriteLine($" return new {returnImplementationClassName}(handle, this._client);"); 2655WriteLine(" })();"); 2656WriteLine($" return new {returnPromiseImplementationClassName}(promise, this._client);"); 2657WriteLine(" }"); 2658WriteLine(); 2666WriteLine($"): Promise<{returnType}> {{"); 2672WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2680WriteLine($" await this._client.invokeCapability<void>("); 2684WriteLine(" const result = await this._client.invokeCapability<string | null>("); 2685WriteLine($" '{method.CapabilityId}',"); 2686WriteLine(" rpcArgs"); 2687WriteLine(" );"); 2688WriteLine(" return CancellationToken.fromValue(result);"); 2689WriteLine(" }"); 2690WriteLine(); 2695WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2697WriteLine($" '{method.CapabilityId}',"); 2698WriteLine($" rpcArgs"); 2699WriteLine(" );"); 2700WriteLine(" }"); 2701WriteLine(); 2752WriteLine($"): {returnPromiseInterfaceName} {{"); 2753WriteLine(" const promise = (async () => {"); 2758WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2763WriteLine($" const handle = await this._client.invokeCapability<{returnHandleType}>("); 2764WriteLine($" '{capability.CapabilityId}',"); 2765WriteLine(" rpcArgs"); 2766WriteLine(" );"); 2767WriteLine($" return new {returnImplementationClassName}(handle, this._client);"); 2768WriteLine(" })();"); 2769WriteLine($" return new {returnPromiseImplementationClassName}(promise, this._client);"); 2770WriteLine(" }"); 2771WriteLine(); 2779WriteLine($"): Promise<{returnType}> {{"); 2785WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2793WriteLine($" await this._client.invokeCapability<void>("); 2797WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2799WriteLine($" '{capability.CapabilityId}',"); 2800WriteLine($" rpcArgs"); 2801WriteLine(" );"); 2802WriteLine(" }"); 2803WriteLine(); 2882WriteLine($" /** @internal */"); 2885WriteLine($"): Promise<{returnWrapperClass}> {{"); 2900WriteLine($" const result = await this._client.invokeCapability<{returnHandleType}>("); 2901WriteLine($" '{capability.CapabilityId}',"); 2902WriteLine($" rpcArgs"); 2903WriteLine(" );"); 2904WriteLine($" return new {returnWrapperImplementationClass}(result, this._client);"); 2905WriteLine(" }"); 2906WriteLine(); 2912WriteLine($"): {returnPromiseWrapper} {{"); 2918WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2927WriteLine($" const flushAndBuild = async () => {{ await this._client.flushPendingPromises(); return {internalCall}; }};"); 2928WriteLine($" return new {returnPromiseImplementationClass}(flushAndBuild(), this._client, false);"); 2932WriteLine($" return new {returnPromiseImplementationClass}({internalCall}, this._client);"); 2934WriteLine(" }"); 2940WriteLine($" /** @internal */"); 2943WriteLine($"): Promise<{className}> {{"); 2958WriteLine($" await this._client.invokeCapability<void>("); 2959WriteLine($" '{capability.CapabilityId}',"); 2960WriteLine($" rpcArgs"); 2961WriteLine(" );"); 2962WriteLine($" return this;"); 2963WriteLine(" }"); 2964WriteLine(); 2970WriteLine($"): {promiseClass} {{"); 2976WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2981WriteLine("), this._client);"); 2982WriteLine(" }"); 2990WriteLine($"): Promise<{returnType}> {{"); 2996WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 3014WriteLine(" const result = await this._client.invokeCapability<string | null>("); 3015WriteLine($" '{capability.CapabilityId}',"); 3016WriteLine(" rpcArgs"); 3017WriteLine(" );"); 3018WriteLine(" return CancellationToken.fromValue(result);"); 3022WriteLine($" return await this._client.invokeCapability<{returnType}>("); 3023WriteLine($" '{capability.CapabilityId}',"); 3024WriteLine($" rpcArgs"); 3025WriteLine(" );"); 3027WriteLine(" }"); 3029WriteLine();