Documentation / @interstellar-tools/types / DegreesType
Type Alias: DegreesType
ts
type DegreesType = number & {
__unit: 'degrees';
};Defined in: numeric.ts:99
Angle in degrees (branded nominal type).
Relations
Why branded? Brands a number to prevent accidentally mixing degrees and radians at compile time. Construct explicitly (via a helper or cast).
Units
- Stored as a JavaScript
numberwhose unit is degrees (dimensionless).
Type Declaration
| Name | Type | Defined in |
|---|---|---|
__unit | "degrees" | numeric.ts:99 |
Examples
ts
// Simple factory (recommended)
const deg = (x: number): DegreesType => x as DegreesType;
const rightAngle: DegreesType = deg(90);ts
// Converting to radians (using your own helper)
type Radians = number & { readonly __unit: 'radians' };
const toRadians = (d: DegreesType): Radians =>
(((d as number) * Math.PI) / 180) as Radians;
const heading: DegreesType = 45 as DegreesType;
const headingRad: Radians = toRadians(heading);See
Radians - branded type for angles in radians