• Create a custom Kenmei-to-AniList status mapping from user preferences.

    Parameters

    • preferences: Record<string, string>

      Object mapping Kenmei status strings to desired AniList status strings.

    Returns Partial<StatusMappingConfig>

    Validated custom status mapping configuration.

    export function createCustomStatusMapping(
    preferences: Record<string, string>,
    ): Partial<StatusMappingConfig> {
    const customMapping: Partial<StatusMappingConfig> = {};

    // Validate and map each preference to status enum values
    for (const [key, value] of Object.entries(preferences)) {
    const kenmeiStatus = validateKenmeiStatus(key);
    if (!kenmeiStatus) continue;

    const anilistStatus = validateAniListStatus(value);
    if (!anilistStatus) continue;

    customMapping[kenmeiStatus] = anilistStatus;
    }

    return customMapping;
    }