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} */"); 458WriteLine(""" 511WriteLine(); 589WriteLine("// ============================================================================"); 590WriteLine("// Handle Type Aliases (Internal - not exported to users)"); 591WriteLine("// ============================================================================"); 592WriteLine(); 600WriteLine($"type {handleName} = Handle<'{typeId}'>;"); 601WriteLine(); 624WriteLine("// ============================================================================"); 625WriteLine("// Enum Types"); 626WriteLine("// ============================================================================"); 627WriteLine(); 632WriteLine($"export enum {enumType.Name} {{"); 642WriteLine($" {value.Name} = \"{value.Name}\","); 645WriteLine("}"); 646WriteLine(); 664WriteLine("// ============================================================================"); 665WriteLine("// DTO Interfaces"); 666WriteLine("// ============================================================================"); 667WriteLine(); 674WriteLine($"export interface {interfaceName} {{"); 685WriteLine($" {propName}?: {tsType};"); 692WriteLine($" /** {clientOnly.Summary} */"); 693WriteLine($" {clientOnly.Name}?: {clientOnly.Type};"); 696WriteLine("}"); 697WriteLine(); 710WriteLine("// ============================================================================"); 711WriteLine("// Exported Values"); 712WriteLine("// ============================================================================"); 713WriteLine(); 717WriteLine(exportedNamespace.Content); 718WriteLine(); 732WriteLine("// ============================================================================"); 733WriteLine("// Options Interfaces"); 734WriteLine("// ============================================================================"); 735WriteLine(); 739WriteLine($"export interface {interfaceName} {{"); 744WriteLine($" {param.Name}?: {tsType};"); 746WriteLine("}"); 747WriteLine(); 755WriteLine($" {propertyName}(): {returnType};"); 773WriteLine($" readonly {propertyName}: AspireDict<{keyType}, {valueType}>;"); 781WriteLine($" readonly {propertyName}: AspireList<{elementType}>;"); 787WriteLine($" {propertyName}: {{"); 793WriteLine($" get: () => {promiseInterfaceName};"); 798WriteLine($" get: () => Promise<{returnTypeName}>;"); 808WriteLine($" set: (value: {valueType}) => Promise<void>;"); 812WriteLine(" };"); 819WriteLine("// ============================================================================"); 820WriteLine($"// {interfaceName}"); 821WriteLine("// ============================================================================"); 822WriteLine(); 824WriteLine($"export interface {interfaceName} {{"); 825WriteLine(" toJSON(): MarshalledHandle;"); 850WriteLine($" {capability.MethodName}({signature.ParameterList}): {promiseInterfaceName};"); 855WriteLine($" {capability.MethodName}({signature.ParameterList}): Promise<{returnType}>;"); 860WriteLine($" {capability.MethodName}({signature.ParameterList}): {_projector.GetBuilderPromiseInterfaceForMethod(builder, capability)};"); 864WriteLine("}"); 865WriteLine(); 887WriteLine($"export interface {promiseInterfaceName} extends PromiseLike<{interfaceName}> {{"); 904WriteLine($" {capability.MethodName}({signature.ParameterList}): {returnPromiseInterfaceName};"); 909WriteLine($" {capability.MethodName}({signature.ParameterList}): Promise<{returnType}>;"); 914WriteLine($" {capability.MethodName}({signature.ParameterList}): {_projector.GetBuilderPromiseInterfaceForMethod(builder, capability)};"); 918WriteLine("}"); 919WriteLine(); 930WriteLine($" {signature.MethodName}({signature.ParameterList}): {_projector.GetPublicPromiseInterfaceName(capability.ReturnType.TypeId)};"); 934WriteLine($" {signature.MethodName}({signature.ParameterList}): {TypeScriptApiProjector.GetPromiseInterfaceName(className)};"); 939WriteLine($" {signature.MethodName}({signature.ParameterList}): Promise<{returnType}>;"); 948WriteLine("// ============================================================================"); 949WriteLine($"// {interfaceName}"); 950WriteLine("// ============================================================================"); 951WriteLine(); 953WriteLine($"export interface {interfaceName} {{"); 954WriteLine(" toJSON(): MarshalledHandle;"); 977WriteLine("}"); 978WriteLine(); 986WriteLine($"export interface {promiseInterfaceName} extends PromiseLike<{interfaceName}> {{"); 995WriteLine("}"); 996WriteLine(); 1006WriteLine("// ============================================================================"); 1007WriteLine($"// {implementationClassName}"); 1008WriteLine("// ============================================================================"); 1009WriteLine(); 1015WriteLine($"class {implementationClassName} extends ResourceBuilderBase<{handleType}> implements {builder.BuilderClassName} {{"); 1018WriteLine($" constructor(handle: {handleType}, client: AspireClientRpc) {{"); 1019WriteLine($" super(handle, client);"); 1020WriteLine(" }"); 1021WriteLine(); 1045WriteLine("}"); 1046WriteLine(); 1144WriteLine($"): {returnPromiseInterfaceName} {{"); 1145WriteLine(" const promise = (async () => {"); 1150WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 1162WriteLine($" const handle = await this._client.invokeCapability<{returnHandleType}>("); 1163WriteLine($" '{capability.CapabilityId}',"); 1164WriteLine(" rpcArgs"); 1165WriteLine(" );"); 1166WriteLine($" return new {returnImplementationClassNameForWrapper}(handle, this._client);"); 1167WriteLine(" })();"); 1168WriteLine($" return new {returnPromiseImplementationClassName}(promise, this._client);"); 1169WriteLine(" }"); 1170WriteLine(); 1180WriteLine($"): Promise<{returnType}> {{"); 1186WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 1204WriteLine(" const result = await this._client.invokeCapability<string | null>("); 1205WriteLine($" '{capability.CapabilityId}',"); 1206WriteLine(" rpcArgs"); 1207WriteLine(" );"); 1208WriteLine(" return CancellationToken.fromValue(result);"); 1212WriteLine($" return await this._client.invokeCapability<{returnType}>("); 1213WriteLine($" '{capability.CapabilityId}',"); 1214WriteLine($" rpcArgs"); 1215WriteLine(" );"); 1217WriteLine(" }"); 1218WriteLine(); 1223WriteLine($" /** @internal */"); 1227WriteLine(); 1244WriteLine($" const result = await this._client.invokeCapability<{returnHandle}>("); 1245WriteLine($" '{capability.CapabilityId}',"); 1246WriteLine($" rpcArgs"); 1247WriteLine(" );"); 1248WriteLine($" return new {returnImplementationClassName}(result, this._client);"); 1252WriteLine($" await this._client.invokeCapability<void>("); 1253WriteLine($" '{capability.CapabilityId}',"); 1254WriteLine($" rpcArgs"); 1255WriteLine(" );"); 1256WriteLine($" return this;"); 1258WriteLine(" }"); 1259WriteLine(); 1268WriteLine(); 1274WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 1287WriteLine($" const flushAndBuild = async () => {{ await this._client.flushPendingPromises(); return {internalCall}; }};"); 1291WriteLine($" return new {promiseImplementationClass}(flushAndBuild(), this._client, false);"); 1295WriteLine($" return new {promiseImplementationClass}({internalCall}, this._client);"); 1297WriteLine(" }"); 1298WriteLine(); 1325WriteLine($"{indent}{param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};"); 1344WriteLine($"{indent}{paramName} = isPromiseLike({paramName}) ? await {paramName} : {paramName};"); 1386WriteLine($"{indent}const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1393WriteLine($"{indent}if ({localParameterName} !== undefined) rpcArgs.{param.Name} = {rpcExpression};"); 1419WriteLine($"{indent}const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1426WriteLine($"{indent}if ({localParameterName} !== undefined) rpcArgs.{param.Name} = {rpcExpression};"); 1453WriteLine($"{indent}const {dtoRpcLocalName} = {localParameterName} === undefined || {localParameterName} === null ? {localParameterName} : {{ ...{localParameterName} }};"); 1454WriteLine($"{indent}if ({dtoRpcLocalName} !== undefined && {dtoRpcLocalName} !== null) {{"); 1456WriteLine($"{indent}}}"); 1460WriteLine($"{indent}const {dtoRpcLocalName} = {localParameterName} === null ? {localParameterName} : {{ ...{localParameterName} }};"); 1461WriteLine($"{indent}if ({dtoRpcLocalName} !== null) {{"); 1463WriteLine($"{indent}}}"); 1476WriteLine($"{indent}const {dtoDataLocalName} = {dtoRpcLocalName} as Record<string, unknown>;"); 1484WriteLine($"{indent}const {callbackLocalName} = {dtoRpcLocalName}.{propertyName};"); 1485WriteLine($"{indent}if ({callbackLocalName} !== undefined) {{"); 1487WriteLine($"{indent} {dtoDataLocalName}[\"{propertyName}\"] = {callbackLocalName}Id;"); 1488WriteLine($"{indent}}}"); 1520WriteLine($"{indent}const {dtoPropertyLocalName} = {dtoRpcLocalName}.{propertyName};"); 1521WriteLine($"{indent}if ({dtoPropertyLocalName} !== undefined && {dtoPropertyLocalName} !== null) {{"); 1522WriteLine($"{indent} const {nestedDtoRpcLocalName} = {{ ...{dtoPropertyLocalName} }};"); 1524WriteLine($"{indent} {dtoDataLocalName}[\"{propertyName}\"] = {nestedDtoRpcLocalName};"); 1525WriteLine($"{indent}}}"); 1634WriteLine("/** @internal */"); 1635WriteLine($"const {promiseImplementationClass} = $aspireCreateFluentPromiseClass<{className}, {promiseClass}>((): $aspireFluentPromiseTransitions => ({{"); 1641WriteLine($" [{methodNameLiteral}]: null,"); 1653WriteLine($" [{methodNameLiteral}]: {transitionExpression},"); 1655WriteLine("}));"); 1656WriteLine(); 1666WriteLine("// ============================================================================"); 1667WriteLine("// Entry Point Functions"); 1668WriteLine("// ============================================================================"); 1669WriteLine(); 1726WriteLine($"): {signature.ReturnType} {{"); 1728WriteLine($" const promise = (async () => {{"); 1734WriteLine($" {param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};"); 1741WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1744WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentExpressionForParam(param, param.Name, useRegisteredCallback: false)};"); 1746WriteLine($" const handle = await client.invokeCapability<{handleType}>("); 1747WriteLine($" '{capability.CapabilityId}',"); 1748WriteLine(" rpcArgs"); 1749WriteLine(" );"); 1750WriteLine($" return new {returnWrapperImplementationClass}(handle, client);"); 1751WriteLine($" }})();"); 1752WriteLine($" return new {returnPromiseImplementationClass}(promise, client);"); 1753WriteLine("}"); 1764WriteLine($"): {signature.ReturnType} {{"); 1770WriteLine($" {param.Name} = isPromiseLike({param.Name}) ? await {param.Name} : {param.Name};"); 1777WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1780WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentExpressionForParam(param, param.Name, useRegisteredCallback: false)};"); 1784WriteLine($" await client.invokeCapability<void>("); 1788WriteLine(" const result = await client.invokeCapability<string | null>("); 1789WriteLine($" '{capability.CapabilityId}',"); 1790WriteLine(" rpcArgs"); 1791WriteLine(" );"); 1792WriteLine(" return CancellationToken.fromValue(result);"); 1793WriteLine("}"); 1794WriteLine(); 1799WriteLine($" return await client.invokeCapability<{returnType}>("); 1801WriteLine($" '{capability.CapabilityId}',"); 1802WriteLine(" rpcArgs"); 1803WriteLine(" );"); 1804WriteLine("}"); 1806WriteLine(); 1833WriteLine($"{indent}const {callbackName}Id = {callbackName} ? registerCallback(async ({paramSignature}) => {{"); 1837WriteLine($"{indent}const {callbackName}Id = registerCallback(async ({paramSignature}) => {{"); 1846WriteLine(indent + "}) : undefined;"); 1850WriteLine(indent + "});"); 1870WriteLine($"{bodyIndent}{returnPrefix}await {callbackName}();"); 1878WriteLine($"{bodyIndent}{returnPrefix}await {callbackName}({cbParam.Name});"); 1892WriteLine($"{bodyIndent}{returnPrefix}await {callbackName}({string.Join(", ", callArgs)});"); 1903WriteLine($"{indent}const {callbackParameter.Name} = CancellationToken.fromValue({callbackArgName});"); 1911WriteLine($"{indent}const {callbackParameter.Name}Handle = wrapIfHandle({callbackArgName}) as {handleType};"); 1912WriteLine($"{indent}const {callbackParameter.Name} = new AspireDict<{keyType}, {valueType}>({callbackParameter.Name}Handle, {clientExpression}, '{cbTypeId}');"); 1917WriteLine($"{indent}const {callbackParameter.Name}Handle = wrapIfHandle({callbackArgName}) as {handleType};"); 1918WriteLine($"{indent}const {callbackParameter.Name} = new {TypeScriptApiProjector.GetImplementationClassName(wrapperClassName)}({callbackParameter.Name}Handle, {clientExpression});"); 1922WriteLine($"{indent}const {callbackParameter.Name} = wrapIfHandle({callbackArgName}) as {tsType};"); 1930WriteLine($$""" 2006WriteLine(); 2011WriteLine(""" 2069WriteLine(); 2070WriteLine("// ============================================================================"); 2071WriteLine("// Handle Wrapper Registrations"); 2072WriteLine("// ============================================================================"); 2073WriteLine(); 2074WriteLine("// Register wrapper factories for typed handle wrapping in callbacks"); 2081WriteLine($"registerHandleWrapper('{typeClass.TypeId}', (handle, client) => new {TypeScriptApiProjector.GetImplementationClassName(className)}(handle as {handleType}, client));"); 2089WriteLine($"registerHandleWrapper('{builder.TypeId}', (handle, client) => new {TypeScriptApiProjector.GetImplementationClassName(className)}(handle as {handleType}, client));"); 2101WriteLine($"registerHandleWrapper('{aliasTypeId}', (handle, client) => new {TypeScriptApiProjector.GetImplementationClassName(className)}(handle as {handleType}, client));"); 2104WriteLine(); 2120WriteLine("// ============================================================================"); 2121WriteLine($"// {implementationClassName}"); 2122WriteLine("// ============================================================================"); 2123WriteLine(); 2134WriteLine($"class {implementationClassName} implements {className} {{"); 2135WriteLine($" constructor(private _handle: {handleType}, private _client: AspireClientRpc) {{}}"); 2136WriteLine(); 2137WriteLine($" /** Serialize for JSON-RPC transport */"); 2138WriteLine($" toJSON(): MarshalledHandle {{ return this._handle.toJSON(); }}"); 2139WriteLine(); 2174WriteLine("}"); 2175WriteLine(); 2246WriteLine($" {propertyName} = {{"); 2251WriteLine($" get: async (): Promise<{returnType}> => {{"); 2254WriteLine(" const result = await this._client.invokeCapability<string | null>("); 2255WriteLine($" '{getter.CapabilityId}',"); 2256WriteLine(" { context: this._handle }"); 2257WriteLine(" );"); 2258WriteLine(" return CancellationToken.fromValue(result);"); 2262WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2263WriteLine($" '{getter.CapabilityId}',"); 2264WriteLine($" {{ context: this._handle }}"); 2265WriteLine(" );"); 2267WriteLine(" },"); 2277WriteLine($" set: async (value: {valueType}): Promise<void> => {{"); 2279WriteLine($" await this._client.invokeCapability<void>("); 2280WriteLine($" '{setter.CapabilityId}',"); 2281WriteLine($" {{ context: this._handle, {GetRpcArgumentEntry("value", valueParam.Type)} }}"); 2282WriteLine(" );"); 2283WriteLine(" }"); 2287WriteLine(" };"); 2288WriteLine(); 2319WriteLine($" {propertyName}(): {promiseInterfaceName} {{"); 2320WriteLine($" return new {promiseImplementationClassName}(this._client.invokeCapability<{collectionType}>("); 2321WriteLine($" '{getter.CapabilityId}',"); 2322WriteLine(" { context: this._handle }"); 2323WriteLine(" ), this._client, false);"); 2324WriteLine(" }"); 2325WriteLine(); 2331WriteLine($" async {propertyName}(): Promise<{returnType}> {{"); 2334WriteLine(" const result = await this._client.invokeCapability<string | null>("); 2335WriteLine($" '{getter.CapabilityId}',"); 2336WriteLine(" { context: this._handle }"); 2337WriteLine(" );"); 2338WriteLine(" return CancellationToken.fromValue(result);"); 2342WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2343WriteLine($" '{getter.CapabilityId}',"); 2344WriteLine(" { context: this._handle }"); 2345WriteLine(" );"); 2347WriteLine(" }"); 2348WriteLine(); 2358WriteLine($" {propertyName}(): {promiseInterfaceName} {{"); 2359WriteLine(" const promise = (async () => {"); 2360WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 2361WriteLine($" '{getter.CapabilityId}',"); 2362WriteLine(" { context: this._handle }"); 2363WriteLine(" );"); 2364WriteLine($" return new {wrapperImplementationClassName}(handle, this._client);"); 2365WriteLine(" })();"); 2366WriteLine($" return new {promiseImplementationClassName}(promise, this._client, false);"); 2367WriteLine(" }"); 2368WriteLine(); 2372WriteLine($" async {propertyName}(): Promise<{wrapperClassName}> {{"); 2373WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 2374WriteLine($" '{getter.CapabilityId}',"); 2375WriteLine(" { context: this._handle }"); 2376WriteLine(" );"); 2377WriteLine($" return new {wrapperImplementationClassName}(handle, this._client);"); 2378WriteLine(" }"); 2379WriteLine(); 2410WriteLine($" {propertyName} = {{"); 2413WriteLine($" get: (): {promiseInterfaceName} => {{"); 2414WriteLine(" const promise = (async () => {"); 2415WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 2416WriteLine($" '{getter.CapabilityId}',"); 2417WriteLine($" {{ context: this._handle }}"); 2418WriteLine(" );"); 2419WriteLine($" return new {wrapperImplementationClassName}(handle, this._client);"); 2420WriteLine(" })();"); 2421WriteLine($" return new {promiseImplementationClassName}(promise, this._client, false);"); 2422WriteLine(" },"); 2426WriteLine($" get: async (): Promise<{wrapperClassName}> => {{"); 2427WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 2428WriteLine($" '{getter.CapabilityId}',"); 2429WriteLine($" {{ context: this._handle }}"); 2430WriteLine(" );"); 2431WriteLine($" return new {wrapperImplementationClassName}(handle, this._client);"); 2432WriteLine(" },"); 2441WriteLine($" set: async (value: {valueType}): Promise<void> => {{"); 2443WriteLine($" await this._client.invokeCapability<void>("); 2444WriteLine($" '{setter.CapabilityId}',"); 2445WriteLine($" {{ context: this._handle, {GetRpcArgumentEntry("value", valueParam.Type)} }}"); 2446WriteLine(" );"); 2447WriteLine(" }"); 2451WriteLine(" };"); 2452WriteLine(); 2479WriteLine($" private _{propertyName}?: AspireDict<{keyType}, {valueType}>;"); 2480WriteLine($" async {propertyName}(): Promise<AspireDict<{keyType}, {valueType}>> {{"); 2481WriteLine($" if (!this._{propertyName}) {{"); 2482WriteLine($" this._{propertyName} = new AspireDict<{keyType}, {valueType}>("); 2483WriteLine($" this._handle,"); 2484WriteLine($" this._client,"); 2485WriteLine($" {typeId},"); 2486WriteLine($" {getterCapabilityId}"); 2487WriteLine(" );"); 2488WriteLine(" }"); 2489WriteLine($" return this._{propertyName};"); 2490WriteLine(" }"); 2491WriteLine(); 2512WriteLine($" private _{propertyName}?: AspireDict<{keyType}, {valueType}>;"); 2513WriteLine($" get {propertyName}(): AspireDict<{keyType}, {valueType}> {{"); 2514WriteLine($" if (!this._{propertyName}) {{"); 2515WriteLine($" this._{propertyName} = new AspireDict<{keyType}, {valueType}>("); 2516WriteLine($" this._handle,"); 2517WriteLine($" this._client,"); 2518WriteLine($" {typeId},"); 2519WriteLine($" {getterCapabilityId}"); 2520WriteLine(" );"); 2521WriteLine(" }"); 2522WriteLine($" return this._{propertyName};"); 2523WriteLine(" }"); 2524WriteLine(); 2544WriteLine($" private _{propertyName}?: AspireList<{elementType}>;"); 2545WriteLine($" async {propertyName}(): Promise<AspireList<{elementType}>> {{"); 2546WriteLine($" if (!this._{propertyName}) {{"); 2547WriteLine($" this._{propertyName} = new AspireList<{elementType}>("); 2548WriteLine($" this._handle,"); 2549WriteLine($" this._client,"); 2550WriteLine($" {typeId},"); 2551WriteLine($" {getterCapabilityId}"); 2552WriteLine(" );"); 2553WriteLine(" }"); 2554WriteLine($" return this._{propertyName};"); 2555WriteLine(" }"); 2556WriteLine(); 2571WriteLine($" private _{propertyName}?: AspireList<{elementType}>;"); 2572WriteLine($" get {propertyName}(): AspireList<{elementType}> {{"); 2573WriteLine($" if (!this._{propertyName}) {{"); 2574WriteLine($" this._{propertyName} = new AspireList<{elementType}>("); 2575WriteLine($" this._handle,"); 2576WriteLine($" this._client,"); 2577WriteLine($" {typeId},"); 2578WriteLine($" {getterCapabilityId}"); 2579WriteLine(" );"); 2580WriteLine(" }"); 2581WriteLine($" return this._{propertyName};"); 2582WriteLine(" }"); 2583WriteLine(); 2638WriteLine($"): {returnPromiseInterfaceName} {{"); 2639WriteLine(" const promise = (async () => {"); 2644WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2649WriteLine($" const handle = await this._client.invokeCapability<{returnHandleType}>("); 2650WriteLine($" '{method.CapabilityId}',"); 2651WriteLine(" rpcArgs"); 2652WriteLine(" );"); 2653WriteLine($" return new {returnImplementationClassName}(handle, this._client);"); 2654WriteLine(" })();"); 2655WriteLine($" return new {returnPromiseImplementationClassName}(promise, this._client);"); 2656WriteLine(" }"); 2657WriteLine(); 2665WriteLine($"): Promise<{returnType}> {{"); 2671WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2679WriteLine($" await this._client.invokeCapability<void>("); 2683WriteLine(" const result = await this._client.invokeCapability<string | null>("); 2684WriteLine($" '{method.CapabilityId}',"); 2685WriteLine(" rpcArgs"); 2686WriteLine(" );"); 2687WriteLine(" return CancellationToken.fromValue(result);"); 2688WriteLine(" }"); 2689WriteLine(); 2694WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2696WriteLine($" '{method.CapabilityId}',"); 2697WriteLine($" rpcArgs"); 2698WriteLine(" );"); 2699WriteLine(" }"); 2700WriteLine(); 2751WriteLine($"): {returnPromiseInterfaceName} {{"); 2752WriteLine(" const promise = (async () => {"); 2757WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2762WriteLine($" const handle = await this._client.invokeCapability<{returnHandleType}>("); 2763WriteLine($" '{capability.CapabilityId}',"); 2764WriteLine(" rpcArgs"); 2765WriteLine(" );"); 2766WriteLine($" return new {returnImplementationClassName}(handle, this._client);"); 2767WriteLine(" })();"); 2768WriteLine($" return new {returnPromiseImplementationClassName}(promise, this._client);"); 2769WriteLine(" }"); 2770WriteLine(); 2778WriteLine($"): Promise<{returnType}> {{"); 2784WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2792WriteLine($" await this._client.invokeCapability<void>("); 2796WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2798WriteLine($" '{capability.CapabilityId}',"); 2799WriteLine($" rpcArgs"); 2800WriteLine(" );"); 2801WriteLine(" }"); 2802WriteLine(); 2881WriteLine($" /** @internal */"); 2884WriteLine($"): Promise<{returnWrapperClass}> {{"); 2899WriteLine($" const result = await this._client.invokeCapability<{returnHandleType}>("); 2900WriteLine($" '{capability.CapabilityId}',"); 2901WriteLine($" rpcArgs"); 2902WriteLine(" );"); 2903WriteLine($" return new {returnWrapperImplementationClass}(result, this._client);"); 2904WriteLine(" }"); 2905WriteLine(); 2911WriteLine($"): {returnPromiseWrapper} {{"); 2917WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2926WriteLine($" const flushAndBuild = async () => {{ await this._client.flushPendingPromises(); return {internalCall}; }};"); 2927WriteLine($" return new {returnPromiseImplementationClass}(flushAndBuild(), this._client, false);"); 2931WriteLine($" return new {returnPromiseImplementationClass}({internalCall}, this._client);"); 2933WriteLine(" }"); 2939WriteLine($" /** @internal */"); 2942WriteLine($"): Promise<{className}> {{"); 2957WriteLine($" await this._client.invokeCapability<void>("); 2958WriteLine($" '{capability.CapabilityId}',"); 2959WriteLine($" rpcArgs"); 2960WriteLine(" );"); 2961WriteLine($" return this;"); 2962WriteLine(" }"); 2963WriteLine(); 2969WriteLine($"): {promiseClass} {{"); 2975WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 2980WriteLine("), this._client);"); 2981WriteLine(" }"); 2989WriteLine($"): Promise<{returnType}> {{"); 2995WriteLine($" {(_projector.IsWidenedHandleType(param.Type) ? "let" : "const")} {localParameterName} = {publicOptionsParamName}?.{param.Name};"); 3013WriteLine(" const result = await this._client.invokeCapability<string | null>("); 3014WriteLine($" '{capability.CapabilityId}',"); 3015WriteLine(" rpcArgs"); 3016WriteLine(" );"); 3017WriteLine(" return CancellationToken.fromValue(result);"); 3021WriteLine($" return await this._client.invokeCapability<{returnType}>("); 3022WriteLine($" '{capability.CapabilityId}',"); 3023WriteLine($" rpcArgs"); 3024WriteLine(" );"); 3026WriteLine(" }"); 3028WriteLine();