@pisell/pisellos
Version:
一个可扩展的前端模块化SDK框架,支持插件系统
37 lines (36 loc) • 1.43 kB
TypeScript
import { Dayjs } from "dayjs";
import { ResourceItem, TimeSliceItem } from "./resources";
/**
* 计算资源在指定时间段内的总可用时间(以分钟为单位)
* @param resource 需要计算可用时间的资源
* @param timeSlots 要检查可用性的时间段
* @param currentCapacity 当前预约所需的容量
* @returns 总可用时间(分钟)
*/
export declare function calculateResourceAvailableTime({ resource, timeSlots, currentCapacity, }: {
resource: ResourceItem;
timeSlots: TimeSliceItem;
currentCapacity?: number;
}): number;
/**
* 查找最快可用的资源,如果有多个资源在相同时间点可用,则选择空闲时间最长的资源
* @param resources 资源列表
* @param currentCapacity 当前预约所需的容量
* @param countMap 已预约数量映射
* @returns 最快可用的资源
*/
export declare function findFastestAvailableResource({ resources, currentCapacity, countMap, }: {
resources: ResourceItem[];
currentCapacity?: number;
countMap?: Record<number, number>;
}): ResourceItem | null;
/**
* 给定一个时间列表,通过开始和结束时间过滤出符合条件的时间段
*
* @export
* @param {TimeSliceItem[]} times
* @param {Dayjs} startTime
* @param {Dayjs} endTime
* @return {*}
*/
export declare function filterConditionTimeSlots(times: TimeSliceItem[], startTime: Dayjs, endTime: Dayjs): TimeSliceItem[];