MCPcopy Create free account
hub / github.com/ZenNotes/zennotes / normalizeVaultSettings

Function normalizeVaultSettings

apps/desktop/src/main/vault.ts:863–954  ·  view source on GitHub ↗
(
  value: unknown,
  fallbackPrimary: PrimaryNotesLocation = DEFAULT_VAULT_SETTINGS.primaryNotesLocation
)

Source from the content-addressed store, hash-verified

861}
862
863function normalizeVaultSettings(
864 value: unknown,
865 fallbackPrimary: PrimaryNotesLocation = DEFAULT_VAULT_SETTINGS.primaryNotesLocation
866): VaultSettings {
867 if (!value || typeof value !== 'object') {
868 return {
869 primaryNotesLocation: fallbackPrimary,
870 dailyNotes: {
871 enabled: DEFAULT_VAULT_SETTINGS.dailyNotes.enabled,
872 directory: DEFAULT_DAILY_NOTES_DIRECTORY,
873 titlePattern: DEFAULT_DAILY_NOTE_TITLE_PATTERN,
874 locale: DEFAULT_DAILY_NOTE_LOCALE,
875 tasksDueOnNoteDate: DEFAULT_VAULT_SETTINGS.dailyNotes.tasksDueOnNoteDate,
876 rolloverUnfinishedTasks: DEFAULT_VAULT_SETTINGS.dailyNotes.rolloverUnfinishedTasks
877 },
878 weeklyNotes: {
879 enabled: DEFAULT_VAULT_SETTINGS.weeklyNotes.enabled,
880 directory: DEFAULT_WEEKLY_NOTES_DIRECTORY,
881 titlePattern: DEFAULT_WEEKLY_NOTE_TITLE_PATTERN,
882 locale: DEFAULT_WEEKLY_NOTE_LOCALE
883 },
884 folderIcons: {},
885 folderColors: {},
886 favorites: []
887 }
888 }
889 const candidate = value as {
890 primaryNotesLocation?: unknown
891 dailyNotes?: {
892 enabled?: unknown
893 directory?: unknown
894 titlePattern?: unknown
895 locale?: unknown
896 legacyPatterns?: unknown
897 templateId?: unknown
898 tasksDueOnNoteDate?: unknown
899 rolloverUnfinishedTasks?: unknown
900 } | null
901 weeklyNotes?: {
902 enabled?: unknown
903 directory?: unknown
904 titlePattern?: unknown
905 locale?: unknown
906 legacyPatterns?: unknown
907 templateId?: unknown
908 } | null
909 folderIcons?: Record<string, unknown> | null
910 folderColors?: Record<string, unknown> | null
911 favorites?: unknown
912 view?: unknown
913 }
914 const folderIcons: Record<string, FolderIconId> = {}
915 if (candidate.folderIcons && typeof candidate.folderIcons === 'object') {
916 for (const [key, iconId] of Object.entries(candidate.folderIcons)) {
917 if (!key || !isFolderIconId(iconId)) continue
918 folderIcons[key] = iconId
919 }
920 }

Callers 2

getVaultSettingsFunction · 0.70
setVaultSettingsFunction · 0.70

Tested by

no test coverage detected