Core type definitions for Tsonic - a TypeScript to native compiler.
This repo is versioned by .NET major:
- .NET 10 →
versions/10/→ npm:@tsonic/core@10.x
When publishing, run: npm publish versions/10 --access public
npm install @tsonic/coreimport { int, float, bool } from "@tsonic/core/types.js";
const age: int = 42 as int;
const temp: float = 98.6 as float;
const isActive: bool = true;sbyte- System.SByte (-128 to 127)short- System.Int16 (-32,768 to 32,767)int- System.Int32 (-2,147,483,648 to 2,147,483,647)long- System.Int64nint- System.IntPtr (native int)int128- System.Int128
byte- System.Byte (0 to 255)ushort- System.UInt16 (0 to 65,535)uint- System.UInt32 (0 to 4,294,967,295)ulong- System.UInt64nuint- System.UIntPtr (native uint)uint128- System.UInt128
half- System.Half (16-bit float)float- System.Single (32-bit float)double- System.Double (64-bit float)decimal- System.Decimal (128-bit decimal)
bool- System.Booleanchar- System.Char (single UTF-16 code unit)ptr<T>- C# unsafe pointer types
These are simple type aliases with NO runtime enforcement. TypeScript treats all numeric types as number, bool as boolean, etc.
Tsonic enforces semantic correctness at compile time via its proof system. TypeScript alone will NOT catch type errors between int/byte/long etc.
MIT