Skip to content

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

180∘=π rad,deg→rad: θrad=θdegπ180,rad→deg: θdeg=θrad180π

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 number whose unit is degrees (dimensionless).

Type Declaration ​

NameTypeDefined 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