@origami-minecraft/devbuilds
Version:
Origami is a terminal-first Minecraft launcher that supports authentication, installation, and launching of Minecraft versions — with built-in support for Microsoft accounts, mod loaders, profile management, and more. Designed for power users, modders, an
50 lines • 1.42 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.get = get;
exports.has = has;
exports.getAll = getAll;
exports.query = query;
exports.set = set;
exports.reset = reset;
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
const common_1 = require("../utils/common");
const DB_DIR = path_1.default.join((0, common_1.localpath)(), 'database');
const DB_FILE = path_1.default.join(DB_DIR, 'origami.db.json');
(0, common_1.ensureDir)(DB_DIR);
if (!fs_1.default.existsSync(DB_FILE)) {
fs_1.default.writeFileSync(DB_FILE, JSON.stringify({}, null, 2), 'utf-8');
}
function load() {
return JSON.parse(fs_1.default.readFileSync(DB_FILE, 'utf-8'));
}
function save(data) {
fs_1.default.writeFileSync(DB_FILE, JSON.stringify(data, null, 2), 'utf-8');
}
function get(key) {
const db = load();
return db[key];
}
function has(key) {
const db = load();
return db[key] ? true : false;
}
function getAll() {
return load();
}
function query(predicate) {
const db = load();
return Object.entries(db).filter(predicate);
}
function set(key, value) {
const db = load();
db[key] = value;
save(db);
}
function reset() {
save({});
}
//# sourceMappingURL=data_manager.js.map