observe<T> method

DatabaseObserver<T> observe<T>(
  1. String table
)

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);
}