AniList status.
Optional
customMapping: Partial<StatusMappingConfig>Optional custom mapping configuration.
Kenmei status.
export function mapAniListToKenmeiStatus(
status: MediaListStatus,
customMapping?: Partial<StatusMappingConfig>,
): KenmeiStatus {
// Create a reverse mapping
const reverseMapping = new Map<MediaListStatus, KenmeiStatus>();
// Populate with default mapping
Object.entries(DEFAULT_STATUS_MAPPING).forEach(
([kenmeiStatus, anilistStatus]) => {
reverseMapping.set(anilistStatus, kenmeiStatus as KenmeiStatus);
},
);
// Override with custom mapping if provided
if (customMapping) {
Object.entries(customMapping).forEach(([kenmeiStatus, anilistStatus]) => {
// Find and remove the default entry for this AniList status
[...reverseMapping.entries()].forEach(([key]) => {
if (key === anilistStatus) {
reverseMapping.delete(key);
}
});
// Add the custom mapping
reverseMapping.set(anilistStatus, kenmeiStatus as KenmeiStatus);
});
}
// Find the matching Kenmei status
const kenmeiStatus = reverseMapping.get(status);
// Default to "reading" if no mapping is found
return kenmeiStatus || "reading";
}
Map an AniList status to Kenmei status.