schedule-kernel
Version:
The back-end core module used for storing/displaying the course schedule
85 lines • 2.77 kB
TypeScript
import { UUID } from "crypto";
import { timeTarget, timeTargets } from "../types";
export declare class TimeManager {
private config;
constructor(config: any);
/**
* 获取当前时间的课程状态
*/
getCurrentLessonStatus(): {
status: "no_time_targets";
nextLesson?: undefined;
timeTarget?: undefined;
currentLesson?: undefined;
} | {
status: "not_started";
nextLesson: any;
timeTarget: any;
currentLesson?: undefined;
} | {
status: "in_class";
currentLesson: any;
nextLesson: any;
timeTarget: any;
} | {
status: "break";
currentLesson: any;
nextLesson: any;
timeTarget: any;
} | {
status: "ended";
currentLesson: any;
nextLesson?: undefined;
timeTarget?: undefined;
};
/**
* 编辑时间表某索引起止时间
* @param uuid 时间表项的UUID
* @param tragetIndex 要编辑的时间表项索引
* @param startTime 新的开始时间 "HH:mm:ss"
* @param endTime 新的结束时间 "HH:mm:ss"
* @returns 是否编辑成功
*/
editTimeTarget(uuid: UUID, tragetIndex: number, startTime: string, endTime: string): boolean;
/**
* 编辑时间表项
* @param uuid 时间表项的UUID
* @param targets 要更新的时间表项属性
* @returns 是否编辑成功
*/
editTimeTargets(uuid: UUID, targets: Partial<timeTargets>): boolean;
/**
* 创建新的时间表项
* @param name 时间表项名称
* @param target 时间表项的目标时间段
* @return 是否创建成功
*/
createTimeTargets(name: string, target: timeTarget): boolean;
/**
* 在指定时间表项后添加新的时间表项
* @param afterUuid 在此UUID后添加
* @param startTime 开始时间 "HH:mm:ss"
* @param endTime 结束时间 "HH:mm:ss"
* @returns 新创建的时间表项的UUID,如果创建失败则返回undefined
*/
insertTimeTargetAfter(id: UUID, index: number, startTime: string, endTime: string): UUID | undefined;
/**
* 删除时间表项
* @param uuid 要删除的时间表项的UUID
* @returns 是否删除成功
*/
deleteTimeTargets(uuid: UUID): boolean;
/**
* 删除时间表项中的某个时间段
* @param uuid 时间表项的UUID
* @param targetIndex 要删除的时间段索引
* @returns 是否删除成功
*/
deleteTimeTarget(uuid: UUID, targetIndex: number): boolean;
private hasTimeConflict;
private timeToMinutes;
private sortTimeTargets;
private generateUUID;
private getWeekTypeForDate;
}
//# sourceMappingURL=timeManager.d.ts.map