@buzzr/dfs-engine
    Preparing search index...

    Type Alias DfsPropTypeKey

    DfsPropTypeKey:
        | "Points"
        | "Rebounds"
        | "Assists"
        | "Steals"
        | "Blocks"
        | "Turnovers"
        | "3-Pointers Made"
        | "Pts+Rebs+Asts"
        | "Pts+Rebs"
        | "Pts+Asts"
        | "Rebs+Asts"
        | "Pts+Stls"
        | "Pts+Blks"
        | "Stls+Blks"
        | "Double-Double"
        | "Triple-Double"
        | "Pass Yards"
        | "Pass Completions"
        | "Pass Attempts"
        | "Pass TDs"
        | "Interceptions"
        | "Rush Yards"
        | "Rush Attempts"
        | "Rush TDs"
        | "Receptions"
        | "Receiving Yards"
        | "Receiving TDs"
        | "Pass+Rush Yds"
        | "Pass+Rush+Rec Yds"
        | "Rush+Rec TDs"
        | "Pass+Rush TDs"
        | "Pass+Rush+Rec TDs"
        | "Longest Reception"
        | "Longest Rush"
        | "Longest Pass"
        | "Hits"
        | "Home Runs"
        | "RBI"
        | "Walks"
        | "Stolen Bases"
        | "Total Bases"
        | "Hits+Runs+RBIs"
        | "Singles"
        | "Doubles"
        | "Triples"
        | "Runs"
        | "Strikeouts"
        | "Earned Runs"
        | "Innings Pitched"
        | "Walks Allowed"
        | "Hits Allowed"
        | "Pitches Thrown"
        | "Pitching Outs"
        | "Hitter FS"
        | "Fantasy Score"
        | "Time On Ice"
        | "Shots on Goal"
        | "Goals"
        | "Blocked Shots"
        | "Power Play Points"
        | "Saves"
        | "Goals Against"
        | "Saves Percentage"
        | "Plus/Minus"
        | "Shots"
        | "Shots on Target"
        | "Passes Completed"
        | "Tackles"
        | "Yellow Cards"
        | "Pass Accuracy"

    DFS prop-type normalizer.

    The OCR / parser produces propType strings verbatim from the slip ("3PT Made", "3PTM", "Threes" all show up depending on the book and screenshot quality). Every leg-write site funnels through normalizeDfsPropType so the rest of the system sees a finite enum (DfsPropTypeKey). Adapter map keys are these canonical strings.

    Aliases are intentionally narrow at v1:

    • Basketball aliases ship now (verified against sample screenshots).
    • NFL / MLB aliases are deferred — unknown variants pass through verbatim and the adapter returns null, which surfaces the leg as "manual settlement only" rather than silently miscategorising.

    Mirror: supabase/functions/_shared/dfs-prop-normalizer.ts. Keep functionally identical.