registerDecoder<T> method
Register a decoder for a table or view.
Creates an empty TableCache for tableName immediately. The cache
remains the same instance for the lifetime of this ClientCache, so
stream listeners attached before the first server snapshot continue to
receive events after data arrives.
Throws ArgumentError if a decoder is already registered for
tableName.
Implementation
void registerDecoder<T>(
String tableName,
RowDecoder<T> decoder, {
bool isEvent = false,
}) {
if (_tables.containsKey(tableName)) {
throw ArgumentError('Decoder for "$tableName" is already registered');
}
if (isEvent) {
_eventTableNames.add(tableName);
}
_tables[tableName] = TableCache<T>(
tableName: tableName,
decoder: decoder,
isEvent: isEvent,
);
}