litemap
Version:
A TypeScript library for mapping and processing data with SQLite integration
87 lines (77 loc) • 2.88 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserDatabaseManager = exports.SQLiteDatabase = exports.DatabaseFactory = void 0;
const DatabaseFactory_1 = __importDefault(require("./litemap/DatabaseFactory"));
exports.DatabaseFactory = DatabaseFactory_1.default;
const SQLiteDatabase_1 = __importDefault(require("./litemap/SQLitedb/SQLiteDatabase"));
exports.SQLiteDatabase = SQLiteDatabase_1.default;
const UserDatabaseManager_1 = __importDefault(require("./litemap/DatabaseManager/UserDatabaseManager"));
exports.UserDatabaseManager = UserDatabaseManager_1.default;
/*
// Example usage with multiple databases
async function main() {
try {
// Ensure the db directory exists
await fs.mkdir("./db", { recursive: true });
// Create multiple database instances
const dbManagers = [
DatabaseFactory.Instance("./db/litemap.db"),
DatabaseFactory.Instance("./db/testmap.db"),
DatabaseFactory.Instance("./db/anothermap.db"),
];
// Sample user data
const sampleUsers = {
user1: {
name: "Alice",
role: "admin",
createdAt: new Date().toISOString(),
},
user2: {
name: "Bob",
role: "editor",
createdAt: new Date().toISOString(),
},
};
// Add users to each database and perform operations
for (const dbManager of dbManagers) {
// Add sample users
await dbManager.addUsers(sampleUsers);
console.log(`Added users to ${dbManager.constructor.name}:`, Object.keys(sampleUsers));
// Update user1's lastLogin
await dbManager.updateUser("user1", {
lastLogin: new Date().toISOString(),
});
console.log(`Updated user1 in ${dbManager.constructor.name}`);
// Get all user keys
const userKeys = await dbManager.getAllUserKeys();
console.log(`All user keys in ${dbManager.constructor.name}:`, userKeys);
// Get and log user details
const users = [
await dbManager.getUser("user1"),
await dbManager.getUser("user2"),
];
for (const user of users) {
if (user) {
console.log(`User ${user.name} has role: ${user.role} in ${dbManager.constructor.name}`);
}
}
// Try to delete a non-existent user
const deleted = await dbManager.deleteUser("user3");
console.log(`Deleted user3 in ${dbManager.constructor.name}:`, deleted);
}
// Close all databases
await DatabaseFactory.closeAll();
} catch (error) {
console.error("Error:", error);
}
}
main();
*/
module.exports = {
DatabaseFactory: DatabaseFactory_1.default,
SQLiteDatabase: SQLiteDatabase_1.default,
UserDatabaseManager: UserDatabaseManager_1.default,
};