ClockFace.d.ts

pull/2587/head
Rob Pilling 2023-01-16 22:56:21 +00:00
parent d2b28ac2bd
commit 65449336fb
1 changed files with 56 additions and 0 deletions

56
typescript/types/ClockFace.d.ts vendored Normal file
View File

@ -0,0 +1,56 @@
declare module ClockFace_ {
export class ClockFace {
constructor(options: Options | Draw);
is12Hour: boolean;
paused: boolean;
showDate: boolean; // default true
loadWidgets: boolean; // default true
start(): void;
tick(): void;
pause(): void;
resume(): void;
remove(): void;
redraw(): void;
}
type Options = {
precision?: number, // seconds
init?: () => void,
pause?: () => void,
resume?: () => void,
remove?: () => void,
settingsFile?: string,
} & (
{
draw: Draw
} | {
update: Update,
} | {
draw: Draw,
update: Update,
}
) & (
{
up?: () => void,
down?: () => void,
} | {
upDown?: (dir: -1 | 1) => void,
}
);
type Draw = (d: Date, changed: Changed<true>) => void;
type Update = (d: Date, changed: Changed) => void;
type Changed<T extends boolean = boolean> = {
d: T,
h: T,
m: T,
s: T,
}
}