81 lines
1.4 KiB
Lua
81 lines
1.4 KiB
Lua
local M = {}
|
|
|
|
local state = {
|
|
platform = nil,
|
|
contest_id = nil,
|
|
problem_id = nil,
|
|
test_cases = nil,
|
|
run_panel_active = false,
|
|
saved_session = nil,
|
|
}
|
|
|
|
function M.get_platform()
|
|
return state.platform
|
|
end
|
|
|
|
function M.set_platform(platform)
|
|
state.platform = platform
|
|
end
|
|
|
|
function M.get_contest_id()
|
|
return state.contest_id
|
|
end
|
|
|
|
function M.set_contest_id(contest_id)
|
|
state.contest_id = contest_id
|
|
end
|
|
|
|
function M.get_problem_id()
|
|
return state.problem_id
|
|
end
|
|
|
|
function M.set_problem_id(problem_id)
|
|
state.problem_id = problem_id
|
|
end
|
|
|
|
function M.get_test_cases()
|
|
return state.test_cases
|
|
end
|
|
|
|
function M.set_test_cases(test_cases)
|
|
state.test_cases = test_cases
|
|
end
|
|
|
|
function M.is_run_panel_active()
|
|
return state.run_panel_active
|
|
end
|
|
|
|
function M.set_run_panel_active(active)
|
|
state.run_panel_active = active
|
|
end
|
|
|
|
function M.get_saved_session()
|
|
return state.saved_session
|
|
end
|
|
|
|
function M.set_saved_session(session)
|
|
state.saved_session = session
|
|
end
|
|
|
|
function M.get_context()
|
|
return {
|
|
platform = state.platform,
|
|
contest_id = state.contest_id,
|
|
problem_id = state.problem_id,
|
|
}
|
|
end
|
|
|
|
function M.has_context()
|
|
return state.platform and state.contest_id
|
|
end
|
|
|
|
function M.reset()
|
|
state.platform = nil
|
|
state.contest_id = nil
|
|
state.problem_id = nil
|
|
state.test_cases = nil
|
|
state.run_panel_active = false
|
|
state.saved_session = nil
|
|
end
|
|
|
|
return M
|