Basic CRUD Operations
This example demonstrates the fundamental Create, Read, Update, and Delete operations using Bindra.
Running the Example
bash
# Install dependencies
pnpm install
# Run with ts-node
npx ts-node index.ts
# Or compile and run
tsc index.ts && node index.jsKey Concepts
1. Creating a DataSource
typescript
const tasks = new DataSource<Task>({
data: [/* initial data */]
});2. Read Operations
tasks.data- Get all recordstasks.current- Get current recordtasks.findById(id)- Find by IDtasks.next()/tasks.prev()- Navigate
3. Create
typescript
const newTask = await tasks.create({ /* data */ });4. Update
typescript
const updated = await tasks.update(id, { /* changes */ });5. Delete
typescript
await tasks.delete(id);6. Query
typescript
const results = await tasks.query({
filter: (item) => item.completed === true,
sort: 'priority'
});7. Event Listeners
typescript
tasks.on('created', (item) => console.log('New item:', item));
tasks.on('updated', (item) => console.log('Updated:', item));
tasks.on('deleted', (item) => console.log('Deleted:', item));8. Reactive Subscriptions
typescript
tasks.currentRecord.subscribe((task) => {
// Automatically called when current record changes
});
tasks.dataSource.subscribe((allTasks) => {
// Automatically called when data array changes
});Learn More
- See 02-remote-api for working with REST APIs
- See 03-validation for data validation
- See 04-caching for caching strategies