UNPKG

schedule-kernel

Version:

The back-end core module used for storing/displaying the course schedule

85 lines 2.77 kB
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