Skip to content

Data Schemas

All data types are defined in @lakea/core. This page provides an overview; see the source code for complete definitions.

import type {
Star,
Galaxy,
Exoplanet,
Coordinates,
Redshift
} from '@lakea/core';
interface EquatorialCoordinates {
ra: number; // Right Ascension in degrees (0-360)
dec: number; // Declination in degrees (-90 to +90)
}
interface Coordinates extends EquatorialCoordinates {
distance?: number; // Distance in parsecs
parallax?: number; // Parallax in milliarcseconds
}
interface GalacticCoordinates {
l: number; // Galactic longitude in degrees
b: number; // Galactic latitude in degrees
}
interface CelestialObject {
id: string;
name?: string;
designations?: Record<string, string>;
coordinates: Coordinates;
galacticCoordinates?: GalacticCoordinates;
}
interface Star extends CelestialObject {
type: 'star';
magnitude: Magnitude;
spectralType?: SpectralType;
properMotion?: ProperMotion;
temperature?: number; // Kelvin
radius?: number; // Solar radii
mass?: number; // Solar masses
luminosity?: number; // Solar luminosities
}
interface Galaxy extends CelestialObject {
type: 'galaxy';
redshift?: Redshift;
magnitude?: Magnitude;
morphology?: GalaxyMorphology;
angularSize?: {
major: number; // Arcminutes
minor: number;
positionAngle?: number;
};
luminosityDistance?: number; // Mpc
}
interface Exoplanet extends CelestialObject {
type: 'exoplanet';
hostStarId: string;
hostStarName?: string;
detectionMethod: ExoplanetDetectionMethod;
discoveryYear?: number;
orbit?: OrbitalParameters;
massEarth?: number;
radiusEarth?: number;
equilibriumTemperature?: number;
inHabitableZone?: boolean;
}
interface QueryResult<T> {
data: T[];
totalCount: number;
source: DataSource;
pagination?: {
offset: number;
limit: number;
hasMore: boolean;
};
}

See packages/core/src/types/index.ts for complete type definitions.