registerAdapterNotExists<T> method

void registerAdapterNotExists<T>(
  1. JsonDBAdapter<T> adapter
)

Set Adapter<T>

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

Implementation

void registerAdapterNotExists<T>(JsonDBAdapter<T> adapter) {
  if (_adapters.containsKey(T)) return;
  final ids = _adapters.values.map((e) => e.getUniqueFieldId);
  if (ids.contains(adapter.getUniqueFieldId)) {
    throw Exception(
      """ Duplicate Adapter: `${adapter.runtimeType}` Unique id detected: `${adapter.getUniqueFieldId}`\n---Please Change---
      @override
      int get getUniqueFieldId => `${adapter.getUniqueFieldId}`; <<<-----
      """,
    );
  }
  _adapters[T] = adapter;
  _boxs[T] = JsonDBBox<T>(indexedDB: _indexedDB, adapter: adapter);
}