Skip to the content

Hoshi Stars星

The stars you can see without a telescope, with names, colours and distances; the 88 constellations with their lines and boundaries; the Messier objects; and seven map projections to draw them on.

Hoshi is the Japanese word 星 for a star. About the name

Contents

Reference · The data door: hand the package your own stars or objects as a source with its own licence and credit, and see whose data is on the screen

TileSourcetype

Data cut by place and by detail. Place and Detail are the package's own types. *

Import it

import type { TileSource } from "@johnmorrisdotca/hoshi-stars/door";

Definition

interface TileSource<Place, Detail, Tile> {
    kind: "tiles";
    info: SourceInfo;
    need(place: Place, detail: Detail): readonly string[];
    load(key: string, signal: AbortSignal): Promise<Tile>;
    bytes(tile: Tile): number;
}

Members

NameTypeDescription
kind"tiles"
infoSourceInfo
need(place: Place, detail: Detail): readonly string[]

The keys of the tiles a place needs at a detail. Pure: no fetching.

load(key: string, signal: AbortSignal): Promise<Tile>

Loads one tile. The source may use the network or not; it must stop when the signal aborts.

bytes(tile: Tile): number

The tile's size in memory, in bytes, for the budget.

Examples

import type { TileSource } from "./data-door.ts";

declare const info: import("./data-door.ts").SourceInfo;
const source: TileSource<string, number, Uint8Array> = {
  kind: "tiles",
  info,
  need: (place, detail) => [`${place}/${detail}`],
  load: async () => new Uint8Array(16),
  bytes: (tile) => tile.byteLength,
};

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/hoshi-stars 0.47.0.