@speckle/shared
Version:
Shared code between various Speckle JS packages
24 lines • 1 kB
JavaScript
import dayjs from 'dayjs';
export const isCreatedBeyondHistoryLimitCutoffFactory = ({ getProjectLimitDate }) => async ({ entity, project, limitType }) => {
const limitDate = await getProjectLimitDate({
project,
limitType
});
return limitDate ? dayjs(limitDate).isAfter(entity.createdAt) : false;
};
export const calculateLimitCutoffDate = (historyLimits, limitType) => {
if (!historyLimits)
return null;
if (!historyLimits[limitType])
return null;
return dayjs()
.subtract(historyLimits[limitType].value, historyLimits[limitType].unit)
.toDate();
};
export const getProjectLimitDateFactory = ({ getWorkspaceLimits, getPersonalProjectLimits }) => async ({ project, limitType }) => {
const limits = project.workspaceId
? await getWorkspaceLimits({ workspaceId: project.workspaceId })
: await getPersonalProjectLimits();
return calculateLimitCutoffDate(limits, limitType);
};
//# sourceMappingURL=utils.js.map