sandhill-road
Version:
A narrative-driven startup simulation game where you guide a founder from garage to exit
63 lines • 2.15 kB
JavaScript
;
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