basics-courses-mcp
Version:
Interactive programming courses from Basics - MCP server for Cursor
40 lines • 1.05 kB
JavaScript
import fs from 'fs';
import path from 'path';
import os from 'os';
const stateDir = path.join(os.homedir(), '.basicsu');
const stateFile = path.join(stateDir, 'course-state.json');
export async function getLocalState() {
try {
if (!fs.existsSync(stateFile)) {
return { currentStep: 0 };
}
const data = fs.readFileSync(stateFile, 'utf8');
const state = JSON.parse(data);
return { currentStep: 0, ...state };
}
catch (error) {
return { currentStep: 0 };
}
}
export async function saveLocalState(state) {
try {
if (!fs.existsSync(stateDir)) {
fs.mkdirSync(stateDir, { recursive: true });
}
fs.writeFileSync(stateFile, JSON.stringify(state, null, 2));
}
catch (error) {
throw error;
}
}
export async function clearLocalState() {
try {
if (fs.existsSync(stateFile)) {
fs.unlinkSync(stateFile);
}
}
catch (error) {
throw error;
}
}
//# sourceMappingURL=state.js.map