UNPKG

sandhill-road

Version:

A narrative-driven startup simulation game where you guide a founder from garage to exit

63 lines 2.15 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.deleteSaveFile = exports.saveFileExists = exports.loadFromFile = exports.saveToFile = exports.initStorage = void 0; // File Storage Utility for persisting game data const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); const os_1 = __importDefault(require("os")); // Create a save directory in the user's home directory const SAVE_DIR = path_1.default.join(os_1.default.homedir(), '.sandhill-road'); const SAVE_FILE = path_1.default.join(SAVE_DIR, 'save.json'); // Ensure the save directory exists const initStorage = () => { if (!fs_1.default.existsSync(SAVE_DIR)) { fs_1.default.mkdirSync(SAVE_DIR, { recursive: true }); } }; exports.initStorage = initStorage; // Save data to a file const saveToFile = (data) => { try { (0, exports.initStorage)(); fs_1.default.writeFileSync(SAVE_FILE, JSON.stringify(data, null, 2), 'utf8'); } catch (error) { console.error('Failed to save data to file:', error); } }; exports.saveToFile = saveToFile; // Load data from a file const loadFromFile = () => { try { if (fs_1.default.existsSync(SAVE_FILE)) { const data = fs_1.default.readFileSync(SAVE_FILE, 'utf8'); return JSON.parse(data); } } catch (error) { console.error('Failed to load data from file:', error); } return null; }; exports.loadFromFile = loadFromFile; // Check if a save file exists const saveFileExists = () => { return fs_1.default.existsSync(SAVE_FILE); }; exports.saveFileExists = saveFileExists; // Delete the save file const deleteSaveFile = () => { try { if (fs_1.default.existsSync(SAVE_FILE)) { fs_1.default.unlinkSync(SAVE_FILE); } } catch (error) { console.error('Failed to delete save file:', error); } }; exports.deleteSaveFile = deleteSaveFile; //# sourceMappingURL=fileStorage.js.map