UNPKG

@pisell/pisellos

Version:

一个可扩展的前端模块化SDK框架,支持插件系统

37 lines (36 loc) 1.43 kB
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[];