Files
Hashpass-lib/benchmarks/storage.ts
2025-08-16 16:11:33 +10:00

38 lines
1.2 KiB
TypeScript

import { AESKey } from '../src/crypto/aes-key.js';
import { BaseStorage } from '../src/storage/base-storage.js';
import { StorageMemory, StorageMemorySynced, EncryptedStorage } from '../src/storage/index.js';
const storage = StorageMemory.from();
// const storageSynced = StorageMemorySynced.from(storage);
const currentDate = new Date();
const data = {
name: 'test',
age: 20,
email: 'test@test.com',
password: 'test',
createdAt: currentDate,
updatedAt: new Date(currentDate.getTime() + 1000),
}
const storageEncryptedBase = StorageMemory.from()
const storageEncrypted = EncryptedStorage.from(storageEncryptedBase, await AESKey.fromSeed('test'));
storageEncryptedBase.on('insert', (event) => {
console.log('insert', event);
});
// Store data in storage
await storage.insertOne('test', data);
// storageSynced.insertOne('test', data);
await storageEncrypted.insertOne('test', data);
// Retrieve data from storage
const retrievedData = await storage.findOne({ name: 'test' });
// const retrievedDataSynced = await storageSynced.findOne('test');
const retrievedDataEncrypted = await storageEncrypted.findOne({ name: 'test' });
console.log(retrievedData);
// console.log(retrievedDataSynced);
console.log(retrievedDataEncrypted);