Example 2: Batch Operations on Content Files
This example demonstrates creating multiple content files, listing them, and performing batch updates.
import { Ulda } from '@zeroam/ulda';
async function batchOperations() {
const ulda = new Ulda('your_api_key', 'https://api.0am.ch', true);
const masterFileName = 'dataStore'; // Unique per API key
const password = 'pass456';
try {
// Connect to master file
await ulda.createMasterFile(masterFileName, password);
await ulda.connect(masterFileName, password);
// Create multiple content files
const files = [
{ name: 'file1', data: { value: 10 } },
{ name: 'file2', data: { value: 20 } }
];
for (const { name, data } of files) {
await ulda.createContentFile(data, name); // Unique names in master file
}
// List all files
console.log('All files:');
for (const [name, file] of Object.entries(ulda.data)) {
console.log(`File: ${name}, Content:`, file.content);
}
// Batch update: increment values
for (const name of Object.keys(ulda.data)) {
const currentValue = ulda.data[name].content.value;
await ulda.data[name].update({ value: currentValue + 5 });
}
console.log('After batch update:');
for (const [name, file] of Object.entries(ulda.data)) {
console.log(`File: ${name}, Content:`, file.content);
}
} catch (error) {
console.error('Error:', error.message);
}
}
batchOperations().catch(console.error);
Success Output:
All files:
File: file1, Content: { value: 10 }
File: file2, Content: { value: 20 }
After batch update:
File: file1, Content: { value: 15 }
File: file2, Content: { value: 25 }
Notes:
- Outputs reflect successful
createContentFileandupdateoperations for multiple files. - Lists files before and after batch updates to show changes.