Edit source

C# language support

The C# target supports TypeScript when the checked source semantics can be represented faithfully by the approved static C# architecture.

AreaSupported contracts
ModulesESM imports/exports, side-effect imports, source packages, module initialization, default exports
DeclarationsFunctions, classes, interfaces, enums, aliases, generics, overload implementations, inheritance, constructors, statics
ValuesPrimitives, arrays, tuples, structural object shapes, discriminated unions, nullable values, and finite broad values through the closed TsValue carrier
CallsSource and provider overloads, generics, optional/rest parameters, callbacks, constructors, parameter modes, conversions
ExpressionsArithmetic, comparisons, boolean logic, optional chains, nullish coalescing, properties, elements, assignments, spreads, assertions
Control flowBlocks, branches, switch, loops, labels, exceptions, finally, async/await
IterationArrays, strings, provider iterables, for...of, for await...of
GeneratorsSync, async, bidirectional next(value), completion, throw/return, delegation where representable
Resourcesusing, await using, lexical cleanup and exceptional cleanup
TypeScript typesThe complete pinned utility family: object and union transformations, callable and constructor projections, Awaited, inference/context utilities, and string-literal transformations
Native interop.NET virtual declarations, attributes, byrefs, delegates, tasks, pointers, function pointers, explicit safety
JS surfaceClosed implemented JavaScript operation families
NodeInstalled C# Node capability inventory

Support is evidence-driven. A syntax form is not accepted merely because C# has similar syntax; the target must prove its types, operations, evaluation order, exceptions, ownership/storage behavior, and emitted contract.