(raw, defaults = {})
| 179 | } |
| 180 | |
| 181 | export function normalizeGuildConfig(raw, defaults = {}) { |
| 182 | const base = typeof raw === 'object' && raw !== null ? raw : {}; |
| 183 | const merged = { ...defaults, ...base }; |
| 184 | |
| 185 | merged.logging = migrateLoggingConfig(merged.logging, { |
| 186 | logChannelId: merged.logChannelId, |
| 187 | reportChannelId: merged.reportChannelId, |
| 188 | enableLogging: merged.enableLogging, |
| 189 | logIgnore: merged.logIgnore, |
| 190 | }); |
| 191 | |
| 192 | const parsed = GuildConfigSchema.safeParse(merged); |
| 193 | const normalized = parsed.success ? parsed.data : { ...defaults, ...merged }; |
| 194 | |
| 195 | normalized.logging = migrateLoggingConfig(normalized.logging, { |
| 196 | logChannelId: normalized.logChannelId, |
| 197 | reportChannelId: normalized.reportChannelId, |
| 198 | enableLogging: normalized.enableLogging, |
| 199 | logIgnore: normalized.logIgnore, |
| 200 | }); |
| 201 | |
| 202 | return stripLegacyLoggingFields(normalized); |
| 203 | } |
| 204 | |
| 205 | export function normalizeEconomyData(raw, defaults = {}) { |
| 206 | const base = typeof raw === 'object' && raw !== null ? raw : {}; |
no test coverage detected