lukashian library
The Lukashian Calendar — Dart implementation of The Lukashian Calendar Mechanism.
Core types (Year, Day, Instant) are calendar-key aware; call MillisecondStore.init (or MillisecondStore.loadProvider / MillisecondStore.loadAsyncProvider) before use.
See lukashian.org for the calendar itself. For differences from the Java reference library, see the README section Deviations from the Java reference implementation.
Classes
- AsyncMillisecondStoreDataProvider
- Async counterpart of MillisecondStoreDataProvider for providers that load data over HTTP, files, or other asynchronous I/O.
- CalendarKeys
- Keys that represent the various calendar instances in MillisecondStore.
- CalendarObject
- Common superclass of Year, Day and Instant.
- Day
- Represents a day in the Lukashian Calendar Mechanism.
- ExternalResourceMillisecondStoreDataProvider
- Base functionality for loading epoch millisecond arrays from an external resource (file or URL), so the exact numbers can be maintained centrally.
- FileMillisecondStoreDataProvider
- Loads binary epoch millisecond streams from the local filesystem.
- Formatter
- Provides methods for formatting instances of the Lukashian Calendar classes.
- HttpMillisecondStoreDataProvider
-
Loads binary epoch millisecond streams over HTTP(S) using
dart:ioHttpClient. - Instant
-
A unique millisecond on the Lukashian timeline (millisecond 1 is the first).
Also represents time-of-day as a
Fraction— the proportion of the current Day that has passed — or as beeps (basis points, 0–9999); see en.wikipedia.org/wiki/Basis_point. - MillisecondStore
- Singleton that manages the various instances of the Lukashian Calendar.
- MillisecondStoreData
- For each Day and Year, stores the number of milliseconds between the start of the calendar (the Lukashian epoch) and the end of that day or year. It also stores the offset between the Lukashian epoch and the UNIX epoch.
- MillisecondStoreDataProvider
- For each Day and Year, an implementation provides the number of milliseconds between the start of the calendar (the Lukashian epoch) and the end of that day or year ('epoch milliseconds'). It also stores the offset between the Lukashian epoch and the UNIX epoch. Using these numbers, the actual years and days of the Lukashian Calendar are defined.
- StandardEarthHttpMillisecondStoreDataProvider
- HttpMillisecondStoreDataProvider that loads from the official lukashian.org Standard Earth millisecond store.
- StandardEarthMillisecondStoreDataProvider
-
An implementation of MillisecondStoreDataProvider that implements the
Lukashian Calendar Mechanism for Earth: tropical (southern-solstice to
southern-solstice) years, true solar days, TT-based, with year numbers
roughly 3900 above the Gregorian calendar — see the Java class
StandardEarthMillisecondStoreDataProviderfor the full specification. - StandardMarsHttpMillisecondStoreDataProvider
- HttpMillisecondStoreDataProvider that loads from the official lukashian.org Standard Mars millisecond store.
- StandardMarsMillisecondStoreDataProvider
-
An implementation of MillisecondStoreDataProvider that implements the
Lukashian Calendar Mechanism for Mars: tropical years and true solar sols,
southern-solstice based — see the Java class
StandardMarsMillisecondStoreDataProviderfor the full specification (epoch choice, Pathfinder-related constraints, etc.). - Year
- Represents a year in the Lukashian Calendar Mechanism.
Enums
- DayFormat
- The different ways to format a Day (see Formatter.formatDay).
Exceptions / Errors
- LukashianException
- An Exception in the Lukashian Calendar.