UNPKG

payload

Version:

Node, React, Headless CMS and Application Framework built on Next.js

49 lines (48 loc) 2.4 kB
import { versionDefaults } from '../versions/defaults.js'; /** * Check if an entity has drafts enabled */ export const hasDraftsEnabled = (config)=>{ return Boolean(config?.versions && typeof config.versions === 'object' && config.versions.drafts); }; /** * Check if an entity has localized status enabled */ export const hasLocalizeStatusEnabled = (config)=>{ return Boolean(config?.versions && typeof config.versions === 'object' && config.versions.drafts && typeof config.versions.drafts === 'object' && config.versions.drafts.localizeStatus); }; /** * Check if an entity has autosave enabled */ export const hasAutosaveEnabled = (config)=>{ return Boolean(config?.versions && typeof config.versions === 'object' && config.versions.drafts && typeof config.versions.drafts === 'object' && config.versions.drafts.autosave); }; /** * Check if an entity has validate drafts enabled */ export const hasDraftValidationEnabled = (config)=>{ return Boolean(config?.versions && typeof config.versions === 'object' && config.versions.drafts && typeof config.versions.drafts === 'object' && config.versions.drafts.validate); }; export const hasScheduledPublishEnabled = (config)=>{ return Boolean(config?.versions && typeof config.versions === 'object' && config.versions.drafts && typeof config.versions.drafts === 'object' && config.versions.drafts.schedulePublish); }; /** * Get the maximum number of versions to keep for an entity * Returns maxPerDoc for collections or max for globals */ export const getVersionsMax = (config)=>{ if (!config?.versions || typeof config.versions !== 'object') { return 0; } // Collections have maxPerDoc, globals have max if ('maxPerDoc' in config.versions) { return config.versions.maxPerDoc ?? 100; } if ('max' in config.versions) { return config.versions.max ?? 100; } return 0; }; export const getAutosaveInterval = (config)=>{ let interval = versionDefaults.autosaveInterval; if (config?.versions && typeof config.versions === 'object' && config.versions.drafts && typeof config.versions.drafts === 'object' && config.versions.drafts.autosave && typeof config.versions.drafts.autosave === 'object') { interval = config.versions.drafts.autosave.interval ?? versionDefaults.autosaveInterval; } return interval; }; //# sourceMappingURL=getVersionsConfig.js.map