TypeScript language runtime primitives for the Tsonic compiler.
Tsonic.Runtime contains mode-independent primitives used by Tsonic-generated C# in CLR, JavaScript-surface, Node-style, and ASP.NET Core projects.
The runtime provides:
- Union carriers -
Union<T1, T2, ...>for TypeScript unions likestring | number - Structural carriers -
Structural.Clone<T>(),Structural.CloneFromDictionary<T>(), andDictionaryAdapter<T>for closed generated structural conversion - Dynamic object carrier -
DynamicObjectfor compiler-owned indexed access and dictionary-shaped projections - Operator helpers - deterministic
typeofandinstanceofsupport - JSON helpers -
JSON.parse<T>()andJSON.stringify(...)for generated code paths that use closed structural metadata
This library is referenced by all Tsonic projects.
- CLR/default-surface projects use
Tsonic.Runtime - First-party source surfaces such as
@tsonic/js,@tsonic/nodejs, and@tsonic/expressalso useTsonic.Runtime
JavaScript and Node surface behavior is authored in first-party TypeScript source packages, not in separate CLR runtime packages:
- Array methods (push, pop, map, filter, etc.)
- String methods (toUpperCase, slice, includes, etc.)
- Math, console, JS-surface
JSON, and other global functions
Tsonic.Runtime owns the compiler runtime carriers. It does not define the
user-facing @tsonic/js or @tsonic/nodejs API surface. The public JS and Node
APIs live in their first-party source packages and compile down to deterministic
runtime calls where needed.
dotnet builddotnet testThis library is fully compatible with .NET NativeAOT, enabling TypeScript code to be compiled to native executables.
Published as Tsonic.Runtime on NuGet.
MIT License - see LICENSE file for details.