Type Alias GuildFishingEventDetail

GuildFishingEventDetail: {
    kind: "rareCatch";
    rarity: string;
    species: string;
    userId: string;
    weightG: number;
} | {
    kind: "levelUp";
    level: number;
    userId: string;
} | {
    action: string;
    actorId: string;
    kind: "moderation";
    targetId: string;
}

The structured event behind a log line, discriminated on kind.

Narrow on detail.kind rather than on the entry's kind - they are the same value, but only the former narrows the union for TypeScript.

This is a HAND-COPY of the server's FishingLogEvent. Nothing links them, so if you add a kind there, add it here in the same change.