File size: 438 Bytes
4e8388d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
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
|