add some hap methods for time introspection

This commit is contained in:
Felix Roos 2024-03-28 05:47:50 +01:00
parent 2e8ae38d33
commit 1a0dff4081

View File

@ -49,6 +49,24 @@ export class Hap {
return this.whole.begin.add(this.duration);
}
isActive(currentTime) {
return this.whole.begin <= currentTime && this.endClipped > currentTime;
}
isInPast(currentTime) {
return currentTime > this.endClipped;
}
isInNearPast(margin, currentTime) {
return currentTime - margin <= this.endClipped;
}
isInFuture(currentTime) {
return currentTime < this.whole.begin;
}
isInNearFuture(margin, currentTime) {
return currentTime < this.whole.begin && currentTime > this.whole.begin - margin;
}
wholeOrPart() {
return this.whole ? this.whole : this.part;
}