Compare commits

..

4 Commits

Author SHA1 Message Date
Darius
fee4ca327a 1.0.3 2025-11-17 23:47:48 +01:00
Darius
60390fcbdf 1.0.2 2025-11-17 23:47:36 +01:00
Darius
04322894b5 Generic Commit; Most likely a fix or small feature 2025-11-17 23:47:27 +01:00
Darius
2e01edcb53 1.0.1 2025-11-17 23:47:18 +01:00
3 changed files with 35 additions and 3 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{ {
"name": "@dpu/shared", "name": "@dpu/shared",
"version": "1.0.2", "version": "1.0.3",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "@dpu/shared", "name": "@dpu/shared",
"version": "1.0.2", "version": "1.0.3",
"dependencies": { "dependencies": {
"axios": "^1.7.9", "axios": "^1.7.9",
"chalk": "^5.6.2" "chalk": "^5.6.2"

View File

@@ -1,6 +1,6 @@
{ {
"name": "@dpu/shared", "name": "@dpu/shared",
"version": "1.0.0", "version": "1.0.3",
"description": "", "description": "",
"main": "dist/index.js", "main": "dist/index.js",
"types": "dist/index.d.ts", "types": "dist/index.d.ts",

32
src/timespan.ts Normal file
View File

@@ -0,0 +1,32 @@
export class TimeSpan {
private start: { hours: number; minutes: number };
private end: { hours: number; minutes: number };
constructor(timeSpanStr: string) {
const [startStr, endStr] = timeSpanStr.split("-");
this.start = this.parseTime(startStr);
this.end = this.parseTime(endStr);
}
private parseTime(timeStr: string) {
const [hours, minutes] = timeStr.split(":").map(Number);
return { hours, minutes };
}
contains(timestamp: number = Date.now()): boolean {
const date = new Date(timestamp);
const hours = date.getHours();
const minutes = date.getMinutes();
const currentMinutes = hours * 60 + minutes;
const startMinutes = this.start.hours * 60 + this.start.minutes;
const endMinutes = this.end.hours * 60 + this.end.minutes;
if (startMinutes > endMinutes) {
return currentMinutes >= startMinutes || currentMinutes < endMinutes;
} else {
return currentMinutes >= startMinutes && currentMinutes < endMinutes;
}
}
}