"""ASCII art for caffeinate-me."""

import random
from typing import List

COFFEE_CUPS: List[str] = [
    r"""
    ) )
   ( (
  ......
  |    |]
  \    /
   `---'""",

    r"""
   ( (
    ) )
  ......
  | ☕ |]
  \    /
   `---'""",

    r"""
  ~   ~
 ~ ~ ~ ~
  ......
  |    |]
  \    /
   `---'""",

    r"""
   ) ) )
  ( ( (
  ......
  |    |]
  \    /
   `---'""",

    r"""
     )  )
    (  (
   ......
   |    |]
   \    /
    `--'""",
]

STEAM_LEVELS = {
    "mild":     "  ~",
    "strong":   "  ) )\n ( (",
    "espresso": "  ) ) )\n ( ( (\n  ) ) )",
}


def get_random_cup() -> str:
    """Return a random ASCII coffee cup."""
    return random.choice(COFFEE_CUPS)


def get_steam(intensity: str = "strong") -> str:
    """Return steam ASCII art for the given intensity."""
    return STEAM_LEVELS.get(intensity, STEAM_LEVELS["strong"])
