observe<T> method
Observe database changes for a specific table with type safety.
Returns a DatabaseObserver that allows setting up multiple event handlers for insert, update, and delete operations on the specified table.
@param table - Table name to observe @returns A type-safe DatabaseObserver for setting up event handlers and subscriptions
Example with multiple event handlers
final subscription = await database.observe<User>('users')
.on('insert', (event) {
print('New users: ${event.rows}');
})
.on('update', (event) {
print('Updated users: ${event.rows}');
})
.on('delete', (event) {
print('Deleted user IDs: ${event.rowIds}');
})
.subscribe();
Example with field projection and filtering
final subscription = await database.observe<User>('users')
.fields(['id', 'name', 'email'])
.filter(DatabaseEqFilter('active', true))
.on('update', (event) {
print('Active user updated: ${event.rows}');
})
.subscribe();
Implementation
DatabaseObserver<T> observe<T>(String table) {
return DatabaseObserver<T>._(this, table);
}