MadLibs / gamestate.py
awacke1's picture
Upload gamestate.py
4e8388d
raw
history blame
438 Bytes
from typing import TypeVar
import dataclasses
import streamlit as st
StateT = TypeVar('StateT')
def persistent_game_state(initial_state: StateT) -> StateT:
session_id = st.report_thread.get_report_ctx().session_id
session = st.server.server.Server.get_current()._get_session_info(session_id).session
if not hasattr(session, '_gamestate'):
setattr(session, '_gamestate', initial_state)
return session._gamestate