registerAdapterNotExists<T> method

Future<void> registerAdapterNotExists<T>(
  1. TDB2Adapter<T> adapter
)

Set registerAdapterNotExists<T>

Usage db.registerAdapterNotExists<User>(UserAdapter());

Implementation

Future<void> registerAdapterNotExists<T>(TDB2Adapter<T> adapter) async {
  if (_adapters.containsKey(T)) return;

  final ids = _adapters.values.map((e) => e.adapterTypeId);
  if (ids.contains(adapter.adapterTypeId)) {
    throw Exception(
      """ Duplicate Adapter: `${adapter.runtimeType}` Unique id detected: `${adapter.adapterTypeId}`\n--- Please Changed ---
      @override
      int get adapterTypeId => `${adapter.adapterTypeId}`; <<<-----
      """,
    );
  }

  _adapters[T] = adapter;
  _boxs[T] = TDB2Box<T>(db: this, indexedDB: _indexedDB, adapter: adapter);
}