339 references to WriteLine
Aspire.Hosting.CodeGeneration.TypeScript (339)
AtsTypeScriptCodeGenerator.cs (339)
379WriteLine(""" 406WriteLine(); 576WriteLine("// ============================================================================"); 577WriteLine("// Handle Type Aliases (Internal - not exported to users)"); 578WriteLine("// ============================================================================"); 579WriteLine(); 585WriteLine($"/** {description} */"); 587WriteLine($"type {handleName} = Handle<'{typeId}'>;"); 588WriteLine(); 602WriteLine("// ============================================================================"); 603WriteLine("// Enum Types"); 604WriteLine("// ============================================================================"); 605WriteLine(); 612WriteLine($"/** Enum type for {enumType.Name} */"); 613WriteLine($"export enum {enumType.Name} {{"); 618WriteLine($" {value} = \"{value}\","); 621WriteLine("}"); 622WriteLine(); 636WriteLine("// ============================================================================"); 637WriteLine("// DTO Interfaces"); 638WriteLine("// ============================================================================"); 639WriteLine(); 645WriteLine($"/** DTO interface for {dto.Name} */"); 646WriteLine($"export interface {interfaceName} {{"); 654WriteLine($" {propName}?: {tsType};"); 657WriteLine("}"); 658WriteLine(); 898WriteLine("// ============================================================================"); 899WriteLine("// Options Interfaces"); 900WriteLine("// ============================================================================"); 901WriteLine(); 905WriteLine($"export interface {interfaceName} {{"); 909WriteLine($" {param.Name}?: {tsType};"); 911WriteLine("}"); 912WriteLine(); 924WriteLine("// ============================================================================"); 925WriteLine($"// {builder.BuilderClassName}"); 926WriteLine("// ============================================================================"); 927WriteLine(); 932WriteLine($"export class {builder.BuilderClassName} extends ResourceBuilderBase<{handleType}> {{"); 935WriteLine($" constructor(handle: {handleType}, client: AspireClientRpc) {{"); 936WriteLine($" super(handle, client);"); 937WriteLine(" }"); 938WriteLine(); 962WriteLine("}"); 963WriteLine(); 1035WriteLine($" /** {capability.Description} */"); 1039WriteLine($"): Promise<{returnType}> {{"); 1044WriteLine($" const {param.Name} = options?.{param.Name};"); 1059WriteLine(" const result = await this._client.invokeCapability<string | null>("); 1060WriteLine($" '{capability.CapabilityId}',"); 1061WriteLine(" rpcArgs"); 1062WriteLine(" );"); 1063WriteLine(" return CancellationToken.fromValue(result);"); 1067WriteLine($" return await this._client.invokeCapability<{returnType}>("); 1068WriteLine($" '{capability.CapabilityId}',"); 1069WriteLine($" rpcArgs"); 1070WriteLine(" );"); 1072WriteLine(" }"); 1073WriteLine(); 1078WriteLine($" /** @internal */"); 1082WriteLine(); 1096WriteLine($" const result = await this._client.invokeCapability<{returnHandle}>("); 1097WriteLine($" '{capability.CapabilityId}',"); 1098WriteLine($" rpcArgs"); 1099WriteLine(" );"); 1100WriteLine($" return new {returnClassName}(result, this._client);"); 1104WriteLine($" await this._client.invokeCapability<void>("); 1105WriteLine($" '{capability.CapabilityId}',"); 1106WriteLine($" rpcArgs"); 1107WriteLine(" );"); 1108WriteLine($" return this;"); 1110WriteLine(" }"); 1111WriteLine(); 1116WriteLine($" /** {capability.Description} */"); 1122WriteLine(); 1127WriteLine($" const {param.Name} = options?.{param.Name};"); 1134WriteLine("));"); 1135WriteLine(" }"); 1136WriteLine(); 1154WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1160WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {rpcExpression};"); 1168WriteLine($"/**"); 1169WriteLine($" * Thenable wrapper for {builder.BuilderClassName} that enables fluent chaining."); 1170WriteLine($" * @example"); 1171WriteLine($" * await builder.addSomething().withX().withY();"); 1172WriteLine($" */"); 1173WriteLine($"export class {promiseClass} implements PromiseLike<{builder.BuilderClassName}> {{"); 1174WriteLine($" constructor(private _promise: Promise<{builder.BuilderClassName}>) {{}}"); 1175WriteLine(); 1178WriteLine($" then<TResult1 = {builder.BuilderClassName}, TResult2 = never>("); 1179WriteLine($" onfulfilled?: ((value: {builder.BuilderClassName}) => TResult1 | PromiseLike<TResult1>) | null,"); 1180WriteLine(" onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null"); 1181WriteLine(" ): PromiseLike<TResult1 | TResult2> {"); 1182WriteLine(" return this._promise.then(onfulfilled, onrejected);"); 1183WriteLine(" }"); 1184WriteLine(); 1230WriteLine($" /** {capability.Description} */"); 1239WriteLine($"): Promise<{returnType}> {{"); 1242WriteLine("));"); 1243WriteLine(" }"); 1262WriteLine(); 1266WriteLine(")));"); 1267WriteLine(" }"); 1269WriteLine(); 1272WriteLine("}"); 1273WriteLine(); 1283WriteLine("// ============================================================================"); 1284WriteLine("// Entry Point Functions"); 1285WriteLine("// ============================================================================"); 1286WriteLine(); 1318WriteLine($"/**"); 1319WriteLine($" * {capability.Description}"); 1320WriteLine($" */"); 1333WriteLine($"): {returnPromiseWrapper} {{"); 1337WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1340WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentExpression(param, useRegisteredCallback: false)};"); 1342WriteLine($" const promise = client.invokeCapability<{handleType}>("); 1343WriteLine($" '{capability.CapabilityId}',"); 1344WriteLine(" rpcArgs"); 1345WriteLine($" ).then(handle => new {returnWrapperClass}(handle, client));"); 1346WriteLine($" return new {returnPromiseWrapper}(promise);"); 1347WriteLine("}"); 1358WriteLine($"): Promise<{returnType}> {{"); 1362WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 1365WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentExpression(param, useRegisteredCallback: false)};"); 1369WriteLine($" await client.invokeCapability<void>("); 1373WriteLine(" const result = await client.invokeCapability<string | null>("); 1374WriteLine($" '{capability.CapabilityId}',"); 1375WriteLine(" rpcArgs"); 1376WriteLine(" );"); 1377WriteLine(" return CancellationToken.fromValue(result);"); 1378WriteLine("}"); 1379WriteLine(); 1384WriteLine($" return await client.invokeCapability<{returnType}>("); 1386WriteLine($" '{capability.CapabilityId}',"); 1387WriteLine(" rpcArgs"); 1388WriteLine(" );"); 1389WriteLine("}"); 1391WriteLine(); 1442WriteLine($" const {callbackName}Id = {callbackName} ? registerCallback(async ({paramSignature}) => {{"); 1446WriteLine($" const {callbackName}Id = registerCallback(async ({paramSignature}) => {{"); 1455WriteLine(" }) : undefined;"); 1459WriteLine(" });"); 1478WriteLine($" {returnPrefix}await {callbackName}();"); 1489WriteLine($" const {cbParam.Name} = CancellationToken.fromValue({cbParam.Name}Data);"); 1495WriteLine($" const {cbParam.Name}Handle = wrapIfHandle({cbParam.Name}Data) as {handleType};"); 1496WriteLine($" const {cbParam.Name} = new {wrapperClassName}({cbParam.Name}Handle, this._client);"); 1501WriteLine($" const {cbParam.Name} = wrapIfHandle({cbParam.Name}Data) as {tsType};"); 1504WriteLine($" {returnPrefix}await {callbackName}({cbParam.Name});"); 1518WriteLine($" const {cbParam.Name} = CancellationToken.fromValue(args.p{i});"); 1524WriteLine($" const {cbParam.Name}Handle = wrapIfHandle({callbackArgName}) as {handleType};"); 1525WriteLine($" const {cbParam.Name} = new {wrapperClassName}({cbParam.Name}Handle, this._client);"); 1530WriteLine($" const {cbParam.Name} = wrapIfHandle({callbackArgName}) as {tsType};"); 1535WriteLine($" {returnPrefix}await {callbackName}({string.Join(", ", callArgs)});"); 1543WriteLine($$""" 1610WriteLine(); 1615WriteLine(""" 1665WriteLine(); 1666WriteLine("// ============================================================================"); 1667WriteLine("// Handle Wrapper Registrations"); 1668WriteLine("// ============================================================================"); 1669WriteLine(); 1670WriteLine("// Register wrapper factories for typed handle wrapping in callbacks"); 1677WriteLine($"registerHandleWrapper('{typeClass.TypeId}', (handle, client) => new {className}(handle as {handleType}, client));"); 1685WriteLine($"registerHandleWrapper('{builder.TypeId}', (handle, client) => new {className}(handle as {handleType}, client));"); 1688WriteLine(); 1702WriteLine("// ============================================================================"); 1703WriteLine($"// {className}"); 1704WriteLine("// ============================================================================"); 1705WriteLine(); 1716WriteLine($"/**"); 1717WriteLine($" * Type class for {className}."); 1718WriteLine($" */"); 1719WriteLine($"export class {className} {{"); 1720WriteLine($" constructor(private _handle: {handleType}, private _client: AspireClientRpc) {{}}"); 1721WriteLine(); 1722WriteLine($" /** Serialize for JSON-RPC transport */"); 1723WriteLine($" toJSON(): MarshalledHandle {{ return this._handle.toJSON(); }}"); 1724WriteLine(); 1756WriteLine("}"); 1757WriteLine(); 1864WriteLine($" /** {description} */"); 1867WriteLine($" {propertyName} = {{"); 1872WriteLine($" get: async (): Promise<{returnType}> => {{"); 1875WriteLine(" const result = await this._client.invokeCapability<string | null>("); 1876WriteLine($" '{getter.CapabilityId}',"); 1877WriteLine(" { context: this._handle }"); 1878WriteLine(" );"); 1879WriteLine(" return CancellationToken.fromValue(result);"); 1883WriteLine($" return await this._client.invokeCapability<{returnType}>("); 1884WriteLine($" '{getter.CapabilityId}',"); 1885WriteLine($" {{ context: this._handle }}"); 1886WriteLine(" );"); 1888WriteLine(" },"); 1898WriteLine($" set: async (value: {valueType}): Promise<void> => {{"); 1899WriteLine($" await this._client.invokeCapability<void>("); 1900WriteLine($" '{setter.CapabilityId}',"); 1901WriteLine($" {{ context: this._handle, {GetRpcArgumentEntry("value", valueParam.Type)} }}"); 1902WriteLine(" );"); 1903WriteLine(" }"); 1907WriteLine(" };"); 1908WriteLine(); 1920WriteLine($" /** {getter.Description} */"); 1923WriteLine($" {propertyName} = {{"); 1924WriteLine($" get: async (): Promise<{wrapperClassName}> => {{"); 1925WriteLine($" const handle = await this._client.invokeCapability<{handleType}>("); 1926WriteLine($" '{getter.CapabilityId}',"); 1927WriteLine($" {{ context: this._handle }}"); 1928WriteLine(" );"); 1929WriteLine($" return new {wrapperClassName}(handle, this._client);"); 1930WriteLine(" },"); 1931WriteLine(" };"); 1932WriteLine(); 1976WriteLine($" /** {getter.Description} */"); 1981WriteLine($" private _{propertyName}?: AspireDict<{keyType}, {valueType}>;"); 1982WriteLine($" get {propertyName}(): AspireDict<{keyType}, {valueType}> {{"); 1983WriteLine($" if (!this._{propertyName}) {{"); 1984WriteLine($" this._{propertyName} = new AspireDict<{keyType}, {valueType}>("); 1985WriteLine($" this._handle,"); 1986WriteLine($" this._client,"); 1987WriteLine($" {typeId},"); 1988WriteLine($" {getterCapabilityId}"); 1989WriteLine(" );"); 1990WriteLine(" }"); 1991WriteLine($" return this._{propertyName};"); 1992WriteLine(" }"); 1993WriteLine(); 2014WriteLine($" /** {getter.Description} */"); 2019WriteLine($" private _{propertyName}?: AspireList<{elementType}>;"); 2020WriteLine($" get {propertyName}(): AspireList<{elementType}> {{"); 2021WriteLine($" if (!this._{propertyName}) {{"); 2022WriteLine($" this._{propertyName} = new AspireList<{elementType}>("); 2023WriteLine($" this._handle,"); 2024WriteLine($" this._client,"); 2025WriteLine($" {typeId},"); 2026WriteLine($" {getterCapabilityId}"); 2027WriteLine(" );"); 2028WriteLine(" }"); 2029WriteLine($" return this._{propertyName};"); 2030WriteLine(" }"); 2031WriteLine(); 2074WriteLine($" /** {method.Description} */"); 2080WriteLine($"): Promise<{returnType}> {{"); 2085WriteLine($" const {param.Name} = options?.{param.Name};"); 2094WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 2097WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentValueExpression(param.Name, param.Type)};"); 2102WriteLine($" await this._client.invokeCapability<void>("); 2106WriteLine(" const result = await this._client.invokeCapability<string | null>("); 2107WriteLine($" '{method.CapabilityId}',"); 2108WriteLine(" rpcArgs"); 2109WriteLine(" );"); 2110WriteLine(" return CancellationToken.fromValue(result);"); 2111WriteLine(" }"); 2112WriteLine(); 2117WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2119WriteLine($" '{method.CapabilityId}',"); 2120WriteLine($" rpcArgs"); 2121WriteLine(" );"); 2122WriteLine(" }"); 2123WriteLine(); 2163WriteLine($" /** {capability.Description} */"); 2169WriteLine($"): Promise<{returnType}> {{"); 2174WriteLine($" const {param.Name} = options?.{param.Name};"); 2183WriteLine($" const rpcArgs: Record<string, unknown> = {{ {string.Join(", ", requiredArgs)} }};"); 2186WriteLine($" if ({param.Name} !== undefined) rpcArgs.{param.Name} = {GetRpcArgumentValueExpression(param.Name, param.Type)};"); 2191WriteLine($" await this._client.invokeCapability<void>("); 2195WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2197WriteLine($" '{capability.CapabilityId}',"); 2198WriteLine($" rpcArgs"); 2199WriteLine(" );"); 2200WriteLine(" }"); 2201WriteLine(); 2260WriteLine($" /** {capability.Description} */"); 2271WriteLine($" /** @internal */"); 2274WriteLine($"): Promise<{returnWrapperClass}> {{"); 2286WriteLine($" const result = await this._client.invokeCapability<{returnHandleType}>("); 2287WriteLine($" '{capability.CapabilityId}',"); 2288WriteLine($" rpcArgs"); 2289WriteLine(" );"); 2290WriteLine($" return new {returnWrapperClass}(result, this._client);"); 2291WriteLine(" }"); 2292WriteLine(); 2297WriteLine($"): {returnPromiseWrapper} {{"); 2302WriteLine($" const {param.Name} = options?.{param.Name};"); 2307WriteLine("));"); 2308WriteLine(" }"); 2314WriteLine($" /** @internal */"); 2317WriteLine($"): Promise<{className}> {{"); 2329WriteLine($" await this._client.invokeCapability<void>("); 2330WriteLine($" '{capability.CapabilityId}',"); 2331WriteLine($" rpcArgs"); 2332WriteLine(" );"); 2333WriteLine($" return this;"); 2334WriteLine(" }"); 2335WriteLine(); 2340WriteLine($"): {promiseClass} {{"); 2345WriteLine($" const {param.Name} = options?.{param.Name};"); 2350WriteLine("));"); 2351WriteLine(" }"); 2358WriteLine($"): Promise<{returnType}> {{"); 2363WriteLine($" const {param.Name} = options?.{param.Name};"); 2378WriteLine(" const result = await this._client.invokeCapability<string | null>("); 2379WriteLine($" '{capability.CapabilityId}',"); 2380WriteLine(" rpcArgs"); 2381WriteLine(" );"); 2382WriteLine(" return CancellationToken.fromValue(result);"); 2386WriteLine($" return await this._client.invokeCapability<{returnType}>("); 2387WriteLine($" '{capability.CapabilityId}',"); 2388WriteLine($" rpcArgs"); 2389WriteLine(" );"); 2391WriteLine(" }"); 2393WriteLine(); 2404WriteLine($"/**"); 2405WriteLine($" * Thenable wrapper for {className} that enables fluent chaining."); 2406WriteLine($" */"); 2407WriteLine($"export class {promiseClass} implements PromiseLike<{className}> {{"); 2408WriteLine($" constructor(private _promise: Promise<{className}>) {{}}"); 2409WriteLine(); 2412WriteLine($" then<TResult1 = {className}, TResult2 = never>("); 2413WriteLine($" onfulfilled?: ((value: {className}) => TResult1 | PromiseLike<TResult1>) | null,"); 2414WriteLine(" onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null"); 2415WriteLine(" ): PromiseLike<TResult1 | TResult2> {"); 2416WriteLine(" return this._promise.then(onfulfilled, onrejected);"); 2417WriteLine(" }"); 2418WriteLine(); 2467WriteLine($" /** {capability.Description} */"); 2475WriteLine($"): {returnPromiseWrapper} {{"); 2478WriteLine(")));"); 2479WriteLine(" }"); 2486WriteLine($"): {promiseClass} {{"); 2489WriteLine(")));"); 2490WriteLine(" }"); 2497WriteLine($"): Promise<{returnType}> {{"); 2500WriteLine("));"); 2501WriteLine(" }"); 2503WriteLine(); 2506WriteLine("}"); 2507WriteLine();