add method

Future<T?> add(
  1. T value, {
  2. int? parentId,
})

Add in Box<T>

Return T? [addedValue]

parentId ?? JsonDBAdapter.getParentId(T value)

abstract class JsonDBAdapter<T>
  int getParentId(T value) => -1; <--- Need To Override

Implementation

Future<T?> add(T value, {int? parentId}) async {
  final id = _indexedDB.generateNextId();
  final map = _adapter.toMap(value);
  map['id'] = id;

  final (record, bool) = await _indexedDB.db.addRecord(
    JsonRecord(
      id: id,
      jsonBytes: _adapter.encodeData(map),
      adapterTypeId: _adapter.getUniqueFieldId,
      parentId: parentId ?? _adapter.getParentId(value),
    ),
  );

  return bool ? _adapter.fromMap(map) : null;
}